私の入力ボックスにはjavascript-coderからjavascript検証を使用していますが、非Ajaxページで正常に動作しますが、POST入力にajaxを使用すると、 。私はhereの例を試しましたが、提案を試したところ、検証はまったく機能しませんでした。私のAjaxのスクリプトで、私は単純にデータを投稿する前にこれを中置くことによって、jqueryの検証で動作するようにすべてを取得することができます検証が失敗した後もスクリプトは停止しません
var frm = $(this).closest('form');
if($(frm).valid()){
をしかし、私は本当にこの検証ライブラリに固執したいので、私はコミュニティの誰かより身近JavaScriptを期待しています私のAjaxスクリプトを先に動かす前に、検証が失敗したかどうかをテストするためのすべてのドキュメントで何かを見つけることができなかったので、この検証ライブラリでも同等のものを見つけることができます。
マイ形式:
<form method="post" name="send_message_frm" id="send_message_frm">
<div style="margin-top:20px;"></div>
<fieldset>
<div class="clear"></div>
<div style="margin-top:20px;"></div>
<label>Product Group Name:</label>
<input name="desc" class="text-input medium3-input required" type="text" id="desc" value="">
<div style="color:red;" id='send_message_frm_desc_errorloc' ></div>
<div style="margin-top:20px;"></div>
</fieldset>
<input name="user" class="text-input medium3-input" type="hidden" id="user" value="<?php echo $myid ; ?>">
<div style="margin-top:20px;"></div>
<input type="submit" id="send-message" name="submit" value="Send" class='button' />
<div style="margin-top:20px;"></div>
</form>
<script type="text/javascript">
var frmvalidator = new Validator("send_message_frm");
frmvalidator.EnableOnPageErrorDisplay();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("desc","alnum","Only numbers and letters are allowed");
frmvalidator.addValidation("desc","req","Please enter a description");
</script>
私のAjaxのスクリプト:
<script type="text/javascript">
$(document).ready(function(){
//Validate form....what can I put here to test if validation is completed properly????
//onclick handler send message btn
$("#send-message").click(function(){
$(this).closest('form').submit(function(){
return false;
});
var frm = $(this).closest('form');
$("#ajax-loading").show();
var data = $(frm).serialize();
$(frm).find('textarea,select,input').attr('disabled', 'disabled');
$.post(
"productgroup_add.php",
data,
function(data){
$("#ajax-loading").hide();
$(frm).find('textarea,select,input').removeAttr('disabled');
$("#send_message_frm").prepend(data);
}
);
}
);
});
</script>
チャームのように働いた!ありがとう! –
大丈夫、私は銃を飛ばしました。私は何をしているのか分かりません。だから、if(!form_submit_handler())が返ります。私のAjax関数の前には、すべての機能が失敗する原因でした。私はいくつかのバリエーションを試してみましたが、(!form_submit_handler())を使用して、検証が成功したかどうかのブーリアン回答を得ましたが、スーパーが失われています。私はPHPで大丈夫ですが、javascriptには無知なので、イベントハンドラを自分で実行するという意味を広げることができますか?私はどこに何を置いていますか?私はそれが通過したかどうかを確認するために私の検証後に何かを配置する必要がありますか? –
@DevNewb - 何が間違っているのかを知ることは難しいですが、とにかく別の方法で回答を更新しました。それがうまくいくことを望みます。 –