在执行jQuery之前检查文本字段是否为空

3

这可能是一个非常简单的问题,但我感到困惑。

如果textField_1不为空,如何运行myFunc()

如果($('#textField_1').val()!=""),则执行.on('click', '#openButton', myFunc)


myFunc 的定义是什么? - Ja͢ck
2
我同意,大多数jQuery让人痛苦不堪。 - DaveRandom
3个回答

5

在处理程序内部进行检查:

.on('click', '#openButton', function() {
    if( !$('#textField_1').val().trim().length ) myFunc(); //thanks to @Mike for the suggestion on trim and length, see comments
})

@Mike -- 欢迎提出建议。 - tymeJV
使用trim函数,这样我们可以确保它不是一个无用的字符串。此外,您不需要检查val != "",长度属性更容易检查(它将是一个布尔测试,而无需比较字符串)。 - Mike
如果(!$('#textField_1').val().trim().length) myFunc(); - Mike
2
没错,这就是 Stack Overflow 的作用,改进我们所有的代码 :) - Mike

0
请参考下面的代码。
 <div>
     <div>
         <input type="text" id="text"/>
         <input type="button" value="click" id="click"/>
     </div>
 </div>

 <script type="text/javascript">
 $(document).ready(function () {
    $("#click").click(function () {
        if ($("#text").val() != '') {
            myfunction();
        }
    });
 });
 function myfunction() {
    alert($("#text").val());
 }
 </script>

0

您可以在 if 语句中测试 $('#textField_1').val()。如果它为空,它将被视为 false,否则它将被视为 true

JS (jQuery):

$('#openButton').on('click', function () {
    if ($('#textField_1').val()) {
        myFunc();
    }
});

这里有一个fiddle


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接