2012-03-04 12 views
0

jqueryの検証プラグインからの応答がフォームのフィールドボックスに配置されるようにjsを書き込むにはどうすればよいですか? htmlフォームがどのように見えるJqueryの妥当性チェックerrorPlacement/submitHandler

<form class="cmxform" id="commentForm" method="POST" action=""> 
<p> 
<label for="cname">Name</label> 
<input id="cname" type="text" name="name" size="60" class="required" minlength="2" /> 
</p> 
<p> 
<label for="cemail">E-Mail</label> 
<input id="cemail" type="text" name="email" size="60" class="required email" /> 
</p> 
<p> 
<label for="curl">URL</label> 
<input id="curl" type="text" name="url" size="60" class="url" value="" /> 
</p> 
<p> 
<label for="ccomment">Your comment</label> 
<textarea id="ccomment" type="text" name="comment" cols="72" rows="8" class="required"></textarea> 
</p> 
<p> 
<div id="button2"><input class="submit" id="submit_btn" type="submit" value="Send Email"/></div> 
</p> 
</form> 

jsが現在、次のようになります。

<script> 
$(document).ready(function() { 
    $('#commentForm').validate({ 
     submitHandler: function(form) { 
      $.ajax({ 
       type: 'POST', 
       url: 'process.php', 
       data: $(this).serialize(), 
       success: function(returnedData) { 
        $('#commentForm').append(returnedData); 
       } 
      });   
      return false; 
     } 
    }); 
}); 
</script> 

適切なJSは、フォームフィールド入力値内errorPlacementを入れていただきましたか?そのため、誰かが自分のメールアドレスを入力しなかった場合、「このフィールドは必須です」というレスポンスが電子メールの入力値の中に表示されます。現在、入力後に返されます。ありがとうございました。

+0

あなたは以上の入力で値を書き込む意味ですか?どのようにエラーが欲しいか明確にはっきりしない – charlietfl

+0

はい、まさに私が意味しています。ありがとうございます –

+0

は本当にこれまでのところほとんど意味がありません。値を上書きすると、ユーザーは値をどのように表示または編集しますか? – charlietfl

答えて

1

検証では、正確にこの目的のための機能であるオプションerrorPlacementが提供されています。私は(あなたが私のバージョンを動作させるためにjQueryのUIを含める必要があるだろう)あなたはjQueryのUIのpositionユーティリティを使用するために迅速にこれを書いた

:私も、このCSSを定義し

//in your $.validate options, add this 
    errorPlacement: function(error, element) { 
     error.insertAfter(element).position({ 
      my:'right top', 
      at:'right top', 
      of:element   
     }); 
    } 

注:

label.error { color: red; position:absolute; }​ 

は、ここでは、アクションでそれを参照してください:http://jsfiddle.net/ryleyb/Z64Tv/

+0

あなたのアイデアをありがとう@Ryley。 jqueryのポジションを使用してフォームのテキスト入力フィールドに検証応答をどのように入れますか?あるいは、少なくとも入力フィールドの上に浮動小数点を浮かべて表示されますか?それともこれは不可能ですか?現在、入力フィールドの前後に表示される要素のみを取得できます。 –

+1

申し訳ありませんニックネーム、私は間違ったjsfiddleリンクを持っていました - 新しいリンクをチェックしてください - それはあなたがそこに欲しいのと同じように働いています... – Ryley

+0

ありがとうございます。非常に役立ちます –

関連する問題