gpt4 book ai didi

javascript - JQuery .validate 在第二次提交时首先触发

转载 作者:太空宇宙 更新时间:2023-11-04 14:46:31 25 4
gpt4 key购买 nike

我正在尝试验证表单。表单是动态生成的,并添加到页面上的 div 中。提交表单时,我希望立即执行验证。现在发生的情况是我第一次提交表单时未经验证就发布了。我第二次点击提交它是有效的。

这是我的脚本:

$("#registerform").live("submit", function(e){
//Prevent the form from submitting normally
e.preventDefault();
$("#registerform").validate({
rules: {
firstname: "required",// simple rule, converted to {required:true}
surname: "required",
//phonenumber: "required",
address: "required",
// address2: "required",
zipcode: "required",
username_ID: "required",
city: "required",
companyname: "required",
email: {// compound rule
required: true,
email: true
}
},
messages: {
firstname: "Förnamn saknas" ,
surname: "Efternamn saknas",
address: "Adress saknas",
// address2: "required",
zipcode: "Postkod saknas",
username_ID: "Användarnamn saknas",
city: "Ort saknas",
companyname: "Företagsnamn saknas",
email: "Korrekt emailadress saknas"
}
});
//alert("e");
$.post("registeraccount.php",$(this).serialize(),function(msg){
//alert the response from the server
//alert(msg);
});
});

我的表格:

<form id='registerform' action='registeraccount.php' method='post'> 
Ägare av konto</br>
* Förnamn: <input type='text' name='firstname' /> <br/>
* Efternamn: <input type='text' name='surname' /> <br/>
* Email: <input type='text' name='email' /> <br/>
* Telefon: <input type='text' name='phonenumber' /> <br/>
Företagsinformation: </br>
* Adress: <input type='text' name='address' /> <br/>
Adress: <input type='text' name='address2' /> <br/>
* Postnummer: <input type='text' name='zipcode' /> <br/>
* Ort: <input type='text' name='city' /> <br/>

<br/>
Kontoinformation</br>
<div id='username_message'></div>
* Användarnamn: <input id='username_ID' type='text' name='username' />

<br/>
Företagsinformation<br/>
* Företagsnamn (som kunden kommer se det): <input type='text' name='companyname' /> <br/>
Organisationsnummer: <input type='text' name='organisationnumber' /><br/>
<input id='submitaccountregistration' type='submit' value='Submit Comment' />
</form>

为什么它没有在第一次提交时触发?我如何才能在我第一次点击提交时执行验证?

最佳答案

在第一次提交事件时,你不是在验证表单,而只是将验证器插件附加到它上面。在第二次提交时,您正在验证它并再次附加验证。

只需定义添加验证的函数 (function attachValidate(form) { $(form).validate... }) 并在生成/加载表单时运行此函数。

关于javascript - JQuery .validate 在第二次提交时首先触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6965896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com