如果两个输入字段具有值,我想执行一段代码。这是我到目前为止的代码,但我相信我输错了语法。
jQuery(document).ready( function($) {
$('button').click(function(){
if ($('#signonname').length > 0) && ($('#signonpassword').length > 0) {
// do something
} else {
alert('Fields are not filled out');
}
});
});
答案 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');
}
});
});