0

ドロップダウンにチェックメールが存在するフォームを送信する際にサポートが必要です。フォームを送信すると、アラートメッセージが表示されますが、フォームも送信されます。アラートメッセージが表示されない場合は、フォームのみを送信する必要があります。

$(document).on('click', '#Records', function (event) {
    $("#dropval select option:selected").each(function () {
        var z = $(this).val();
        //alert(z);
        if(z != 'email') {
            alert('please select Email');
            e.preventDefault();
            return false;
        } else {
            return true;
        }
    });
});
});

   <form  name="search" method="post" action="sample1.php" >
  <div id="dropval">

  <select name="select3[1]" class="mySelects" >
  <option value="None"  selected > None</option>
  <option value="email" >email</option>
  <option value="firstname" >firstname</option>
  <option value="lastname" >lastname</option>
  <option value="mobile" >mobile</option>
  </select>
  <select name="select3[2]" class="mySelects" >
  <option value="None" selected > None</option>
  <option value="email" >email</option>
  <option value="firstname" >firstname</option>
  <option value="lastname" >lastname</option>
  <option value="mobile" >mobile</option>
  </select>
  <select name="select3[3]" class="mySelects" >
  <option value="None" selected > None</option>
  <option value="email" >email</option>
  <option value="firstname" >firstname</option>
  <option value="lastname" >lastname</option>
  <option value="mobile" >mobile</option>
  </select>
  <select name="select3[4]" class="mySelect" >
  <option value="None"  selected> None</option>
  <option value="email" >email</option>
  <option value="firstname" >firstname</option>
  <option value="lastname" >lastname</option>
  <option value="mobile" >mobile</option>
  </select>
  </div>
  <input type="submit" value="submit" id="Records">
  </form>
4

3 に答える 3

0

これを試して:

$('#formy').bind('submit', function(event){
    var success = false;

    $("#dropval select option:selected").each(function () {
        var z = $(this).val();
        if(z == 'email') {
            success = true;
        }
    });

    return success;
});

あなたはループに戻っていましたが、これは送信には何もしません。

于 2012-06-05T03:43:33.350 に答える
0

ボタンをクリックする代わりにフォーム送信で関数を呼び出すと、ここで false を返すとフォームの送信が停止するため、問題が解決するはずです。

$('#formName').on('submit', function() {
    //Validation code here
    if(valid == false) {
        return false; //Stops the form from submitting
    } else {
        return true; //Allows the form to submit
    }
});
于 2012-06-05T03:24:49.783 に答える
0
$(document).on('click', '#Records', function(event) {
    $("#dropval select option:selected").each( function (){
        var z = $(this).val();
        //alert(z);
        if(z!='email'){
            alert('please select Email');
            event.preventDefault(); // 'e' was undefined before, as you named your variable 'event'. This would have been causing an error and code below would not have been executed - as a result, your form would have been submitted after the alert.
            return false;
        }
     });
});

補足として、イベントをdocumentなどにバインドするのclickは非効率的です。より近い親にバインドしてみてください。

于 2012-06-05T03:25:08.067 に答える