[英]JQuery val() returning empty
我被困在一个看起来像是一个微不足道的问题上,我可能会因为错过这个而踢我自己。不管怎样,我的问题是我没有从文本字段中获取价值。
HTML:
<form>
<label for="">Enter Username:</label>
<input id="usernameText" type="text" size="30" />
<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.