现在,我的HTML代码如下:
<div id="register">
<table class="tab2">
<tr>
<td>Email:</td>
<td><input type="text" id="email" /></td>
</tr>
<tr>
<td>Confirm Email:</td>
<td><input type="text" id="confirmemail" /></td>
</tr>
</table>
</div>
要通过jQuery从输入中获取值,我必须这样做:
$("#email").live('focusout', function() {
email = $(this).val();
});
$("#confirmemail").live('focusout', function() {
confirmemail = $(this).val();
});
我知道有更好的解决方案可以执行此操作(因为我的解决方案正常工作,但由于存在两个以上的输入,因此很麻烦),但它们对我不起作用。我想使用像
这样的东西$("#email").val();
并根据需要检索值,而不是将其存储到变量中。问题是每当我运行该代码时,它总是返回一个空字符串。这是什么原因?
编辑:
我忘了提到在运行click事件后正在使用这些值,如下所示:
$("#dialog_next").live('click', function() {
当我运行$(“#email”)。val()代码之后,它返回一个空字符串。
答案 0 :(得分:0)
我希望这个问题与代码实际运行时有关。由于我无法看到问题代码,我只能猜测。例如,如果您喜欢这样:
$(function () {
var email = $("#email").val();
function string getEmail() {
return email;
}
... (later you call getEmail to look at the value)
});
由于在用户输入之前设置了可变电子邮件,因此会失败。
这样的代码可行:
$(function () {
function string getEmail() {
var email = $("#email").val();
return email;
}
... (later you call getEmail to look at the value)
});
您失败的代码是什么样的?