繁体   English   中英

JQuery val()返回空

[英]JQuery val() returning empty

我被困在一个看起来像是一个微不足道的问题上,我可能会因为错过这个而踢我自己。不管怎样,我的问题是我没有从文本字段中获取价值。

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>

在函数中分配变量。

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

至于你的另一个问题, “如果我将$(document).ready();包含在我的脚本中,函数generate就不会被调用。任何想法为什么......?”

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

这里它将在页面加载时调用。因此,无论何时页面加载,文本框都是空的。尝试在函数内写入。

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

当你在document.ready写入时,它将在页面加载时进行cal; l。如果你需要username的值,那么显式调用。

该值是第一次得出的。 所以当页面首次加载时。

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

        }
</script>

在这里,您要定义调用函数的函数,以使其运行使用此generateQuery(); 线来调用你的功能。

你在哪里调用函数????

我认为你需要:

<script type="text/javascript">

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


    });     

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

        }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM