我有一段代码提交表单一次,以防止多个数据库插入:
// Validates the form data
// Running before submit, otherwise HTTP process starts and we POST
$(".empForm").validate();
// Setting the submit button to enabled
$("input[type='submit']").attr("disabled", false);
// disabling the submit button after it's been pressed atleast once
// Prevents duplicate entries in the database
$(".empForm").submit(function(){
// if it's valid, lock the submit button
// if the form is not valid, they can complete and try again
if($(".empForm").valid()){
$("input[type='submit']").attr("disabled", true).val("Please wait...");
return true;
}// closes if
}); //closes submit
问题是我使用jQuery的.validate()函数,当表单作为缺少字段返回时,我无法提交表单,因为它已被禁用。有什么建议?
答案 0 :(得分:2)
使用提供的jQuery / Validate提交处理程序。
$(".selector").validate({
submitHandler: function(form) {
$("input[type='submit']").attr("disabled", true).val("Please wait...");
form.submit();
}
})
SubmitHandler仅在表单有效时运行,因此这可以解决您的问题。
答案 1 :(得分:0)
而不是禁用它,将其转为Readonly
('#readonly').click(
function()
{
if ($('#readonly').attr("readonly") == true)
{
$('#readonly').val('');
$('#readonly').removeAttr("readonly");
}
});
针对您的具体情况:(未经测试)
$("input[type='submit']").removeAttr("readonly");
//or $("input[type='submit']").attr('readonly', false)
// disabling the submit button after it's been pressed atleast once
// Prevents duplicate entries
$("form").submit(function(){
$("input[type='submit']").attr('readonly', true).val("Please wait...");
return true;
});
答案 2 :(得分:0)
我解决了这个问题。
$("input[type='submit']").click(function(){
if($(".empForm").valid()==true){
$("input[type='submit']").attr("disabled", true).val("Please wait...");}
else{$("input[type='submit']").attr("disabled", false);}
});