如何使用JQuery检查两个输入字段是否具有值?

时间:2017-04-28 17:57:26

标签: javascript jquery

如果两个输入字段具有值,我想执行一段代码。这是我到目前为止的代码,但我相信我输错了语法。

jQuery(document).ready( function($) {

 $('button').click(function(){

  if ($('#signonname').length > 0) && ($('#signonpassword').length > 0) {

    // do something

    } else {

          alert('Fields are not filled out');

          }

    });

});    

2 个答案:

答案 0 :(得分:3)

首先,你有太多的括号,其次,只要元素存在,jQuery选择器总是有长度,你想用val()检查值

jQuery(document).ready(function($) {
    $('button').click(function() {
        if ( $('#signonname').val().length > 0 &&
             $('#signonpassword').val().length > 0
           ) {
             alert('Fields are filled out')
        } else {
            alert('Fields are not filled out');
        }
    });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
name : <input id="signonname" />
<br /><br /> 
pass : <input id="signonpassword" />
<br /><br />
<button>Click</button>

你拥有的是等于

var check1 = $('#signonname').length;     // returns length of selector
var check2 = $('#signonpassword').length; // returns length of selector

if ( check1 ) && ( check2 ) { ... // syntax error ...

注意括号中的不匹配

答案 1 :(得分:1)

是的,你犯了语法错字:即你需要$(&#39;#signonname&#39;)。val()。length而不是$(&#39;#signonname&#39;)。

输入字段值可以使用$(&#39;输入选择器&#39;)来获取/设置.val()

查看下面的更新代码

jQuery(document).ready( function($) {

     $('button').click(function(){

      if ($('#signonname').val().length > 0) && ($('#signonpassword').val().length > 0) {

        // do something

        } else {

              alert('Fields are not filled out');

              }

        });

    });