JQuery val()返回空

JQuery val()返回空

问题描述:

我被困在什么似乎是一个微不足道的问题,我可能会踢我自己因为想念这个..无论如何,我的问题是我无法从文本字段中获取值。JQuery val()返回空

HTML:

<form> 
     <label for="">Enter Username:</label> 
     <input id="usernameText" type="text" size="30" /> 
     &nbsp;&nbsp;<input type="button" value="Generate" onclick="generateQuery(); return  false;" /> 
</form> 

的Javascript:

<script type="text/javascript"> 

     var username = $("#usernameText").val(); 

     function generateQuery(){ 

      alert(username); 

     } 
</script> 

我做了以下if (jQuery) {..并确保jQuery是加载。

在警报中显示一个空的对话框。

如果我将$(document).ready();包含到我的脚本中,函数generateQuery不会被调用。任何想法为什么..?

<script type="text/javascript"> 

    $(document).ready(function(){ 
     var username = $("#usernameText").val(); 

     function generateQuery(){ 

      alert(username); 

     } 
    });  
</script> 
+0

@PSR:我有,我在笔记中提到过。 – kaizenCoder 2013-03-25 04:15:33

函数内将您的变量。

function generateQuery(){ 
    var username = $("#usernameText").val(); 
    alert(username); 
} 

至于你的其他问题,“如果我包括$(文件)。就绪();?到我的脚本函数产生不被调用的任何想法,为什么......”

这是因为范围。当您添加document.ready处理程序时,您在匿名函数中包装generateQuery,因此button onclick="generateQuery()"代码不可见。

这将调用,而页面loading.So每当页面加载文本框empty.Try一个函数中编写。

function generateQuery(){ 
    var username = $("#usernameText").val(); 
    alert(username); 
} 

当您在document.ready将CAL写; L,而页面loading.If你需要的用户名的值,则显式调用。

你在哪里调用函数?

我认为你需要:

<script type="text/javascript"> 

    $(document).ready(function(){ 
     generateQuery(); 


    });  

function generateQuery(){ 
    var username = $("#usernameText").val(); 
      alert(username); 

     } 
</script> 
+0

它被称为onchange的输入字段。 – judda 2013-03-25 04:04:00

该值是第一次通过导出。所以当页面第一次加载时。

<script type="text/javascript"> 
     function generateQuery(){ 
      var username = $("#usernameText").val(); 
      alert(username); 

     } 
</script> 

这里要定义你要调用的函数,以得到它运行使用这个generateQuery();行调用函数的功能。