$(document).ready(function(){
if($("#field-huima-0-value").val()=='' && $(".link-field .form-text").val() =='')
$("#edit-submit").click(function(){
alert("you must at least enter one value!");
});
});
field-huima-0-value 和 .link-field .form-text 是两个输入文本框id和class。
当两个输入文本框为空时。我点击提交按钮。警告框显示,然后我单击确定。表格仍然提交。但现在,我想阻止表单提交。所以我在return false;
行下添加了alert
。它可以阻止表单提交。但是当我在它们的一个输入框中键入一个值时,单击该按钮。它仍然显示警报框。
答案 0 :(得分:3)
问题是您在页面加载时检查值,而不是在单击按钮时检查。
请检查click
事件中的值:
$(document).ready(function(){
$("#edit-submit").click(function(){
if($("#field-huima-0-value").val() == '' && $(".link-field .form-text").val() =='') {
alert("you must at least enter one value!");
return false;
}
});
});
注意:如果您需要填写这两个字段,则应在条件中使用||
运算符而不是&&
。
还要考虑使用submit
事件进行验证。不同之处在于,当您对click
事件进行检查时,您只会验证表单是否为用于发布表单的按钮。如果有另一种方式发布表单(例如使用回车键),则不会进行验证。
答案 1 :(得分:2)
我认为您的代码需要进行一些修改,请仔细检查:
$(document).ready(function() {
$("#edit-submit").click(function() {
if(!$("#field-huima-0-value").val() && !$(".link-field .form-text").val()) {
alert("you must at least enter one value!");
return false;
}
return true;
});
});
此代码会将check函数附加到提交按钮的click事件,并且只有在检查不成功时才返回false。
更新:我已经更新了上面的代码并对其进行了测试,现在工作正常,我也为您制作了测试此代码的示例,请点击此链接:{{3} }
让我知道发生了什么。
答案 2 :(得分:1)
答案 3 :(得分:0)
$(document).ready(function() {
$("#edit-submit").click(function() {
if($("#field-huima-0-value").val()=='' || $(".link-field .form-text").val() =='') {
alert("you must at least enter one value!");
});
}
});
尝试一下 - 你需要在click
事件中运行代码,你的if
语句不包含我认为你想要的代码,并且正在测试两个字段是否都是如果任何一个字段为空,则为空。