jquery 简单if/else表单检查(应该是简单的)

ni65a41a  于 2022-12-18  发布在  jQuery
关注(0)|答案(4)|浏览(116)

我正在尝试一个简单的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);


这很有效,但我不知道为什么。
在故障排除过程中,我注意到它进入了下一页。所以我开始尝试通过在字段中添加验证来阻止它进入下一页。目标是阻止它进入下一页,除非它有效。

2uluyalo

2uluyalo1#

allChecks对于您的标记不是“可见”的。它在$(document).ready()处理程序内部。若要使它“可见”,只需如下声明它:

window.allChecks=function(){
wpx232ag

wpx232ag2#

在标记上使用onsubmit,为什么不在创建处理程序时使用jQuery呢?

$(document).ready(function(){

    $('#mainForm').on('submit',function(){
        //whatever you want to do on submit
    });

});
m1m5dgzv

m1m5dgzv3#

您可以通过以下方式处理提交事件:

$(document).ready( function(){
    //formVars

    var name = $('#name');

    $("#mainForm").submit( function() {

    if ( name.val() === "" ) {
        alert("lopan");
        return false;
    }

    else {
      return true;
    }
  });
});

http://jsfiddle.net/YMg9V/1/

ki1q1bka

ki1q1bka4#

不久前有过类似的东西,高效率的代码突然改变了提交的行为。我现在做的是代替你的(相当正常的)代码。

<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>

相关问题