我正在使用AJAX提交表单。我使用以下代码通过AJAX提交表单。
jQuery('form.AjaxForm').submit( function() {
$.ajax({
url : $(this).attr('action'),
type : $(this).attr('method'),
dataType: 'json',
data : $(this).serialize(),
success : function( data ) {
for(var id in data) {
jQuery('#' + id).html( data[id] );
}
}
});
return false;
});
我想在服务器提交后处理表单数据时禁用/ readonly。提交后表格应正常或有任何错误。有时用户按下提交按钮不止一次,我们在数据库中收到不需要的重复条目。
有什么想法吗?
由于
答案 0 :(得分:1)
点击后会禁用提交按钮。
$('#myform').submit(function(){
$('input[type=submit]', this).attr('disabled', 'disabled');
});
答案 1 :(得分:1)
function disable() {
return false;
}
// Disable form
jQuery('form.AjaxForm').bind( "submit", disable );
// Enable form
jQuery('form.AjaxForm').unbind( "submit", disable );
或者如果您想阻止输入被修改:
// Disable
jQuery('form.AjaxForm input').each( function() {
jQuery( this ).attr( "disabled", "disabled" );
});
// Enable
jQuery('form.AjaxForm input').each( function() {
jQuery( this ).attr( "disabled", "" );
});
答案 2 :(得分:1)
在提交处理程序中$.ajax
调用之前禁用提交按钮:
$('#yoursubmit').attr('disabled', 'disabled');
并在$.ajax
调用的成功/错误处理程序中再次启用它:
$('#yoursubmit').attr('disabled', '');