简单的if / else对我进行转储.....它工作正常(从prev proj复制),制作了一些 变化,现在什么都没有。
我删除了所有内容并编写了一个简单的函数来检查是否为空,没有任何内容,表单仍然是下一页...而且它只是工作。
所以现在我做了最简单的一个......所以......它仍然搞砸了,我错过了什么。 应该简单。
我需要休息一下
继承人的代码。
HTML:
<form name="mainForm" action="formProc.php" method="get" id="mainForm" onSubmit="return allChecks();" >
<input type="text" name="name" id="name"/>
</form>
JS:
<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>
正如你所看到的...我基本上正在尝试强制表格上的“假”和它 STILL进入下一页。
进一步贬低它。
我在表单中使用type =“button”创建了另一个按钮,声明它并且很好,这个
var btn= $('#clearF');
btn.click(allChecks);
然后这就行了......所以我迷失了。
编辑*** 我试图强迫假/阻止进入下一页因为,因为我在字段中添加验证,我注意到它进入下一页是否值是真的...故障排除一段时间后我决定明白为什么它本身会进入下一页...因此试图强制虚假而失败则阻止它进入下一页。
***结束编辑
任何提示/想法/指出我正在做的一些DUMB事情....不要犹豫,指出来 谢谢你提前。
答案 0 :(得分:3)
allChecks
对于您的标记不是“可见的”。它位于$(document).ready()
处理程序内。要使它“可见”,只需声明如下:
window.allChecks=function(){
答案 1 :(得分:0)
而不是标记上的onsubmit
,为什么不在创建处理程序时使用jQuery?
$(document).ready(function(){
$('#mainForm').on('submit',function(){
//whatever you want to do on submit
});
});
答案 2 :(得分:0)
您可以通过以下方式处理提交活动:
$(document).ready( function(){
//formVars
var name = $('#name');
$("#mainForm").submit( function() {
if ( name.val() === "" ) {
alert("lopan");
return false;
}
else {
return true;
}
});
});
答案 3 :(得分:0)
不久之前有类似的东西,生产性代码突然改变行为提交。我现在所做的不是代替你的(相当正常的)代码。
<form name="mainForm" action="formProc.php" method="get" id="mainForm" >
<input type="text" name="name" id="name"/>
var btn= $('#clearF');
btn.click(allChecks);
$(document).ready( function(){
//formVars
var name = $('#name');
function allChecks(){
if(name.val()==""){
alert("lopan");
return false;
}else{
mainForm.submit();
}
return false;
}
});
</script>