我正在尝试禁用提交按钮以避免重复条目。
我已经检查了所有 SOF、Google 等。
发生的情况是,我得到了禁用提交按钮的代码,但它没有检查表单是否已填写数据。
为了最大限度地减少您的时间和精力,我这里的代码是 JSFiddle。 http://jsfiddle.net/4gL0f2tz/
我想做的是。
- 检查表单值是否已完成(如果没有则抛出错误 - 为此我使用 required 属性)
- 填写完表单中的值后,请禁用提交按钮并继续处理页面。
这是 jQuery 片段
<script type="text/javascript">
$(document).ready(function(){
$('input:submit').click(function(){
$('p').text("Form submiting.....");
$('input:submit').attr("disabled", true);
$.ajax({
type: "POST",
url: "form_process.php",
data: "id=abc" ,
success: function(){alert('success');}
});
});
});
</script>
完整的代码可以在这里找到。 http://jsfiddle.net/4gL0f2tz/
注意:我有禁用提交按钮的代码,如何在检查所有表单值是否完成后禁用它,然后禁用它。
最佳答案
我已将您的 fiddle 更新为:click here
您只需检查每个必填字段,无论其是否已填充(或您想要的任何内容),然后禁用该按钮。
“魔法”就是这样:
$('input:submit').click(function(evt){
// We think any required field is filled
var filled = true;
$('input[required]:visible').each(function(key, el) {
// Check if a field is not filled (just an example)
// you could also do any other checks
if ( $(el).val() == '' ) filled = false;
});
if ( filled == true ) { /* send it */ }
evt.preventDefault();
});
但是您需要停止发送表单,因为您想通过 AJAX 请求发送表单...您可以使用 PreventDefault() 来做到这一点
关于javascript - 检查表单数据值并禁用提交按钮 jQuery 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26031542/