在通过javascript禁用输入后重新启用输入,因为它是空的
re-enable an input after it was disabled through javascript because it was empty
我正在使用jQuery Validator来验证表单,我想禁用用户单击提交时为空的字段,这样服务器就不会从为空的输入中接收任何数据。为了禁用它们,我使用了以下Javascript:
$(function() {
$("#form1").submit(function() {
$(this).find(":input").filter(function(){ return !this.value; }).attr("disabled", "disabled");
return true; // ensure form still submits
});
});
这是我的问题:假设表单在第一次提交时就得到了验证,那么这个代码就非常有效。但是,如果用户点击提交但未进行验证,则会禁用各种必填字段的所有警报和此类弹出窗口,但会禁用所有输入。我该怎么解决这个问题?我需要知道如果表单没有经过验证和正确提交,如何重新启用它们。
禁用要提交的字段是没有意义的。相反,您应该首先进行仅限前端的验证,如果存在空字段(并且这些字段必须不为空),则阻止提交。
您可以设置一个变量(或函数)来运行验证,并且只有在返回true时才提交。这只是一个输入的浓缩示例。
var validate = ($('input').val() == '') ? false : true;
if(validate){
// submit your form
} else {
// throw your errors
}
然后最好在验证开始时清除错误。
相关文章:
- 动态启用/禁用来自控制器的输入文本
- 输入昵称后启用按钮
- 根据输入框上的写入动态启用/禁用选择选项
- 如果没有任何输入,如何启用按钮
- 如何使用编辑按钮启用表格行中的所有输入
- 在动态添加的文本框中输入文本时启用按钮
- 启用特定输入上的单选按钮
- Javascript - 当所有输入都有效时启用提交按钮
- 使用JQuery启用输入字段的单选框
- 在其他文本输入字段中输入文本时启用复选框
- 如何启用由日期选择器 ui 附加的输入?(JQuery 插件)
- 选中复选框时启用Javascript输入类型,未选中复选框则禁用
- 根据输入启用文本框
- Javascript(jQuery)/HTML:设置<输入>或者<选择>启用,不工作
- 如果焦点在文本字段和输入上,则启用/禁用按键
- 如何基于单选按钮切换启用/禁用输入字段
- 根据选择选项启用/禁用其他输入
- 使用 Angular 要求输入启用注册:需要输入/验证
- 根据输入启用/禁用某些文本字段
- 在后退按钮上保留HTML表单输入启用状态