我有一个包含输入表单和按钮的HTML:
<input id="nameField" type="text">
<input id="submitBtn" type="button" value="Submit">
脚本:
$(function() {
var name = $('#nameField').val();
var data = {
name: name
}
$('#submitBtn').click(function() {
alert(data.name);
});
});
在字段中输入文本,然后单击按钮。但警报是空的,控制台中没有错误。
答案 0 :(得分:8)
这是因为您在文档准备就绪后,在用户输入文本之前很久就会初始化data
。
你可以这样做:
$(function() {
$('#submitBtn').click(function() {
var name = $('#nameField').val();
var data = {
name: name
};
alert(data.name);
});
});
答案 1 :(得分:3)
$(function() {
$('#submitBtn').click(function() {
var name = $('#nameField').val();
var data = {
name: name
}
alert(data.name);
});
});
单击节点时需要字段的当前值,而不是页面加载时。 您可以将“data”对象声明为global(window.data)变量,只需更改“click”函数中的“name”值。