我正在尝试一个简单的if/else,它在以前的项目中有效。但是我在一个新项目中遇到了麻烦。
我把它简化成最简单的版本。
超文本:
<form name="mainForm" action="formProc.php" method="get" id="mainForm" onSubmit="return allChecks();" >
<input type="text" name="name" id="name"/>
</form>
联森:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready( function(){
//formVars
var name = $('#name');
function allChecks(){
if(name.val()==""){
alert("lopan");
return false;
}
if(name.val()===""){
alert("lopan");
return false;
}
if(name.val()== null){
alert("lopan");
return false;
}
return false;
}
});
</script>
我试图在表单上强制输入“false”,但它仍然转到下一页。
我还在表单中创建了另一个type=“button”的按钮,声明它并使用:
var btn= $('#clearF');
btn.click(allChecks);
型
这很有效,但我不知道为什么。
在故障排除过程中,我注意到它进入了下一页。所以我开始尝试通过在字段中添加验证来阻止它进入下一页。目标是阻止它进入下一页,除非它有效。
4条答案
按热度按时间2uluyalo1#
allChecks
对于您的标记不是“可见”的。它在$(document).ready()
处理程序内部。若要使它“可见”,只需如下声明它:wpx232ag2#
在标记上使用
onsubmit
,为什么不在创建处理程序时使用jQuery呢?m1m5dgzv3#
您可以通过以下方式处理提交事件:
http://jsfiddle.net/YMg9V/1/
ki1q1bka4#
不久前有过类似的东西,高效率的代码突然改变了提交的行为。我现在做的是代替你的(相当正常的)代码。