$(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 .
当两个输入文本框为空时 . 我点击提交按钮 . 警告框显示,然后我单击确定 . 表格仍然提交 . 但现在,我想阻止表单提交 . 所以我在 alert
行下添加 return false;
. 它可以阻止表单提交 . 但是当我在它们的一个输入框中键入一个值时,单击该按钮 . 它仍然显示警报框 .
4 回答
我认为你的代码需要一些修改,请查看:
此代码将check函数附加到提交按钮的click事件,并且只有在检查未成功时才返回false .
Update: 我've updated the above code ans tested it, and now working fine, also I'已经为您提供了测试此代码的示例,请点击此链接:http://jsfiddle.net/6egtW/1/
让我知道发生了什么 .
问题是您在页面加载时检查值,而不是在单击按钮时检查值 .
请检查
click
事件中的值:注意:如果您需要填写两个字段,则应在条件中使用
||
运算符而不是&&
.还要考虑使用
submit
事件进行验证 . 不同之处在于,当您对click
事件进行检查时,您将仅验证表单是否为用于发布表单的按钮 . 如果有另一种方式发布表单(例如使用回车键),则不会进行验证 .点击查看值
如果不想提交,
在点击时返回false
您可以使用.submit()提交表单
试试 - 你需要在
click
事件中运行代码,你的if
语句不包含我认为你想要的代码,并且正在测试两个字段是否为空,如果两个字段都为空则不行 .