-3

ユーザーが[送信]をクリックできるようにしたいのですが、正しいフィールドに入力しないと、入力されずにエラーが表示されます。これは可能ですか?エラー部分の実行方法は知っていますが、送信のブロック部分は煩わしいものです。

4

5 に答える 5

5

フォームで送信イベントを処理します。

$(document).ready(function() {
     $("#yourFormIdHere").submit(function(e) {
         // process fields
         if (thereWereErrors) {
             e.preventDefault();
         }
     });
});

event.preventDefault()イベントハンドラーでメソッドを呼び出すと、そのイベントのデフォルトのアクションが発生しなくなります。送信イベントの場合、デフォルトではもちろんフォームを送信します...

于 2012-09-18T22:22:39.693 に答える
1

これはあなたが望むものです:(私は考えます)作業デモ http://jsfiddle.net/8YsAx/

良いリンク:http ://docs.jquery.com/Plugins/Validation

API:validate http ://docs.jquery.com/Plugins/Validation/validate#options

それが原因に合うことを願っています:)

脚本

  <script type='text/javascript' src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>

コード

$(document).ready(function(){
    $("#registerForm").validate();
  });​
于 2012-09-18T22:17:14.440 に答える
1
<form method="post/get" action"url" onsubmit="return Validation();">

送信がクリックされると、onsubmitが呼び出されます。検証関数は、続行する場合はtrueを返し、フォームが送信されないようにする場合はfalseを返す必要があります。

于 2012-09-18T22:19:24.003 に答える
0

(「これは可能か」ということを実際に尋ねる代わりに)それを行う方法を尋ねている場合は、jqueryコードでこのようなことを行うことができます。これは、複数のフォームを送信する場合に行う方法です。

if($(your_field_here).html() === '') {
  error = 1;
  error_field .= "<br />your_field_here is not filled out!";
}
if($(your_second_field_here).html() === '') {
  error = 1;
  error_field .= "<br />your_field_here is not filled out!";
}

if(error === 1){
  $(your_error_field).html(error_field);
} else {
  // do your ajax / w.e call here
}

編集:これは私がいつも個人的に行ってきたことです。もっと簡単な方法があれば、コメントで教えてください。

于 2012-09-18T22:21:27.460 に答える
0

フォームにsubmit-Eventlistenerを追加する必要があります。

$('#myForm').submit(function() {
    // return true (proceed submit) | false (stop submit)     
    // In case the form is not valid you can render your errorMessages first    
});
于 2012-09-18T22:25:52.200 に答える