2014-10-31 26 views
0

的JavaScript不能的jQuery

<script> 
    jQuery(function ($) {         
     var userName = jQuery("#userName").val(); 

     $('#btnsubmit').click(function() { 
      alert(userName); 

     }); 
    }); 
</script> 

HTML

<div class="contact"> 
    <div class="contact-form"> 
     <h2>Check Out</h2> 
     <div> 
      <span><label>Name</label></span> 
      <span><input name="userName" type="text" class="textbox" id="userName"></span> 
     </div> 
    </div> 
    <div class="clear"></div> 
</div> 

我不能讓文本框的值獲取文本框的值。點擊按鈕時,它總是空的。請幫我看看使用ajax的文本框的值。

+0

+1至少使用快捷方式jQuery DOM ready與本地作用域'$'的組合。我沒有看到其他許多人使用它:) – 2014-10-31 14:50:48

回答

3

您在頁面加載時獲取用戶名一次,然後再註冊點擊處理程序,然後再次獲取它。

您需要在點擊處理程序中獲取值新鮮的

jQuery(function ($) {         

     $('#btnsubmit').click(function() { 
      var userName = $("#userName").val(); 
      alert(userName); 

     }); 
    }); 

注意,你是觀察當地$,所以請使用它而不是jQuery的DOM準備處理程序中 :)

+0

感謝TrueBlueAussie,我做到了 – 2014-10-31 14:54:45

0

試試這個:

<script> 
    jQuery(function($) { 
     $('#btnsubmit').click(function() { 
      alert($("#userName").val()); 
     }); 
    }); 
</script> 
+1

任何特殊的原因,你取代快速DOM準備處理程序與範圍'$'與舊版本?他們有這個部分是正確的。 – 2014-10-31 14:38:34

+0

我懇求無知,因爲我沒有意識到'新'版本。你有鏈接還是快速解釋? – 2014-10-31 14:43:21

+1

看看這個:http://api.jquery.com/jQuery/#jQuery3 – 2014-10-31 14:44:20