ajax によって送信されたフォームに検証を追加しようとしていますが、部分的に機能しています。
フォームを送信するコードは次のとおりです。
<script type="text/javascript">
$(document).ready(function(){$(".sendName").click(function(){
var Email=$("#Email").val();
var Name=$("#Name").val();
var ErrorType=$("input:radio[name=ErrorType]:checked").val();
var Univer=$("#Univer").val();
var ErrorMessage=$("#ErrorMessage").val();
$.post("report.php",{Email:Email,Name:Name,ErrorType:ErrorType,Univer:Univer,ErrorMessage:ErrorMessage},function(data){$("#loadName").html(data).effect('bounce', { times: 5, distance: 30 }, 300);
});
});
});
</script>
そのコードは完全に機能します。
私は livevalidation プラグインも使用しており、ほとんどの場合同様に機能しています。私が抱えている唯一の問題は、フォームを送信する関数内から検証コードを呼び出すことです。
通常、検証コードは次のように呼び出されます。
<form onsubmit="return validate(this)">
ただし、フォームは ajax によって送信されているため、現在のフォーム タグは次のとおりです。
<form onSubmit="return false;">
したがって、私ができる必要があるのは、ajax を介してフォームを送信する関数内から検証関数を呼び出すことです。
どうすればこのようなことをすることができますか? どちらのスクリプトも単独で問題なく動作しています。最後に確認する必要があるのは、この 1 つだけです。
そのため、ajax 関数が呼び出されたときに検証関数を呼び出す必要があります。フォームが検証された場合、スクリプトは ajax リクエストを完了することができ、フォームが検証されない場合は送信されません。
いくつか検索したところ、同様の質問がいくつか見つかりましたが、解決策はありませんでした。どんな助けでも大歓迎です。