我有一个表单,我想在其中使用jQuery检索文本框中的值.问题是如果我声明这样的变量:
var bdmm = $("#bdmm").val();
Run Code Online (Sandbox Code Playgroud)
在document.ready事件中,但在函数外部,并在函数中引用它,文本值为null.但是,如果我在函数内声明它,它工作正常.为什么会这样?
JQUERY:
这将不工作:
$(document).ready(function() {
var bdmm = $("#bdmm").val();
$('#submit').click(function(e){
alert(bdmm);
e.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)
这将有效:
$(document).ready(function() {
$('#submit').click(function(e){
alert($("#bdmm").val());
e.preventDefault();
//OR
var bdmm = $("#bdmm").val();
alert(bdmm);
e.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)
在第一个示例中,它在DOM就绪时立即检索文本框值.如果它已经存在一个值,它将起作用 - 但是当click事件实际发生时它不会重新查询表单.可能不是你想要的.
在第二个示例中,当click事件实际发生时,将检索表单字段值,这几乎肯定是您的意图.