我创建了一个表单并将其attr设置为onsubmit="return false"
现在我需要在实际提交之前执行一些操作,如下所示:
$('input[name=submit]').click(function(){
$('.switch-input').attr('checked','checked');//getting all values of chbz
//here goes a little more code//
$('form[name=setform]').removeAttr('onsubmit');//finally sending to $_POST
});
乍一看一切正常,但我想它会在发送之前100%执行所有代码还是我做错了?
答案 0 :(得分:1)
您可以考虑取消onsubmit
属性,而是使用您的.click()
代码,最后只返回false。您也可以按照Stiliyan的建议使用.submit()
。
答案 1 :(得分:1)
int getAge(Date dateOfBirth){
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd")
print(">>>><><><><<<<<<<<<<<<><><><><><><><><")
print("date of birth");
print(dateOfBirth)
print(">>>><><><><<<<<<<<<<<<><><><><><><><><")
print("current date")
print(new Date())
print(">>>><><><><<<<<<<<<<<<><><><><><><><><")
Date currentDate = new Date()
def cd = dateFormat.format(currentDate)
String date = dateFormat.format(dateOfBirth)
return 5;
}
属性将阻止按正常情况提交表单。但是,当用户单击“提交”输入时,上述代码段将执行一次,删除onsubmit="return false"
属性并使表单能够正常提交,但用户必须再次单击“提交”才能提交。
您可以保留现有的代码段并告诉jQuery通过.submit()
方法的第三种变体明确提交表单:
onsubmit
或者,您可以删除$('input[name=submit]').click(function(){
$('.switch-input').attr('checked','checked');//getting all values of chbz
//here goes a little more code//
$('form[name=setform]').removeAttr('onsubmit');//make the form submittable
$('form[name=setform]').submit();//finally sending to $_POST
});
属性,并使用方法的onsubmit="return false"
变体,这样可以简化代码并保证处理程序在表单提交之前执行:
.submit(handler)