2014-09-10 170 views
3

這可能是一個非常簡單的問題,但我覺得很困惑。在執行jQuery之前檢查文本字段是否爲空

如果textField_1不爲空,我該如何運行myFunc()?

Excicute .on('click', '#openButton', myFunc) if ($('#textField_1').val()!="")

+0

'myFunc'的定義是什麼? – 2014-09-10 13:30:46

+2

我同意,大多數jQuery是極端痛苦的。 – DaveRandom 2014-09-10 13:33:24

回答

5

檢查處理程序中:

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

呃,可能會更好。 – Mike 2014-09-10 13:25:15

+0

@Mike - 始終接受建議。 – tymeJV 2014-09-10 13:26:10

+0

用戶修剪,這樣我們確保它不是一個無用的字符串。此外,您不需要檢查val!=「」,length屬性更容易檢查(這將是一個布爾測試,無需比較字符串) – Mike 2014-09-10 13:26:58

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