1

私のHTMLには次のものがあります。入力値はユーザーの選択によって入力され、array(45[45, 6, 33], 67[67,2,5] and so on..)の形式で値を格納します。基本的に、値は次のようになります。

<input id="question_string" type="hidden" value="{}">
<input class="submit_updates" name="commit" type="submit" value="Process">

入力に配列がない場合は、送信ボタンを無効にするか、「すべての値を選択」などのメッセージを警告する必要があります{}

更新しました:

var question_hash_element = document.getElementById('question_string');
var question_hash = JSON.parse(question_hash_element.value);

   var myArray = new Array();
      myArray[0] = window.batch_question_id;
      myArray[1] = window.answer_id || window.answer_text || window.batch_answer_checkbox
      myArray[2] = window.build_id

上記のコードのこのビットは、値をに格納します{}。無効にして、ユーザーがフォームを処理するためにすべてのフィールドを選択できるようにしたいだけです。値がの場合{}、ボタンは無効になっているはずです。および内部の値のいずれかを有効にする必要があります。

私は次のように試しました:

 $('.submit_updates').click(function () {
    if ($('#question_string') == {}) {
      return false;
      alert("Select all the Values");
    } else {
      return true;
    }
  });

動いていない..

どんな助けでもいただければ幸いです!ありがとう

4

3 に答える 3

2
$('.submit_updates').on('click', function (e) {
   e.preventDefault();
   if ( $.trim($('#question_string').val())=='{}' ) {
       alert('no question !');
   }else{
       this.form.submit();
   }
});
于 2013-02-18T15:40:33.917 に答える
1

メッセージを警告する前にfalseを返しています。

これを試して:

$('.submit_updates').on("click", function () {
  if ($('#question_string').val() == "{}") { //Adjusted condition
    //Alert message
    alert("Select all the Values");

    //Disable the submit button
    $(".submit_updates").prop("disabled", true);
    return false;
  } else {
  return true; //Not really needed
 }
});

@adeneoが示唆しているように、onandpropの代わりにclickandを使用する方が適切です。attr

于 2013-02-18T15:38:32.610 に答える
1

これを試して

$(function(){
     $('.submit_updates').on('click', function () {
        if ($('#question_string').val() == "{}") {
              $(this).prop('disabled', 'disabled'); 
              alert("Select all the Values");
        } else {
        }
      });
});

デモ

于 2013-02-18T15:41:04.193 に答える