私はページに多くのAJAXフォームを持っています。ボタンをクリックすると、それらをすべて提出する必要があります。通常の** forms.each(function(index、form){$(form).submit();}は私にとってはうまくいかないでしょう。この方法では最後のフォームのみが最終的に提出されるからです。 $ .ajax(...)ですが、フォームが有効な場合にのみ送信を有効にしたいなぜClientValidationは失敗しましたが、XmlHttpRequestが送信されるのですか?
"submitForms"で "submitTest"関数をクリックしてください jQueryドキュメントから "submitHandler"が呼び出されます。フォームが有効である。 ので、検証作品や「submitHandler」は「submitHandler」が呼び出されていないがXmlHttpRequestのは、とにかく送られ、フォームが無効な場合に呼び出されます。いないが。
どこに私のミスですかそれともありますそれ以外の方法はありますか? ありがとうございました
<% using (Ajax.BeginForm("FormPost", "Customer", null, new AjaxOptions() { HttpMethod = "POST" }, new { @class = "form-container" }))
{ %>
<%: Html.TextAreaFor(m => m.Name, new { width = 440, height = 100 })%>
<input type="button" value="submitForms" />
<% }%>
<script type="text/javascript">
function submitTest(){
var forms = $(".form-container");
forms.each(function (index, form) {
$(form).validate({
submitHandler: function (form) {
$.ajax(
{
....
});
}
});
});
forms.each(function (index, form) {
$(form).submit();
});
}
</script>
しかし、私はその前に検証を開始し、したがって$(form).submit()$(form).validate()を起動し、フォームが有効であればそれは送信されますか? – theateist
@ user573082あなたは正しい、更新された答え – Vadim
だから、どうすればこの問題を解決できますか?私は "<%using(Ajax.BeginForm(" FormPost "、" Customer "、null、新しいAjaxOptions(){HttpMethod =" POST "}、新しい{@class ="フォームコンテナ "})))と"バリデーションを使用することもできます。私はそれをどうやって? – theateist