在输入时或输入失去焦点时将输入值保存到变量中

时间:2013-03-25 14:36:56

标签: javascript input var

我已经在这个问题上工作了一段时间,我提出的每个解决方案“几乎都有效”。理想情况下,我想在输入时将输入值保存到变量中,因此在将输入值保存到变量之前,我不必执行任何命令。由于我无法找到解决方案,因此一旦输入失去焦点,我就一直在努力改变它。我尝试过.focusout,.change和.blur,但是当输入失去焦点时,没有人真正改变它。

//This will save the input value into the variable formInput
var formInput = $("#someForm input[type=text]").val();

//This successfully changes the value of formInput, but only after performing 
//another command, such as clicking go or pressing enter.  
//Tab does not count to the input "losing focus"

$("#someForm input[type=text]").focusout(function() {
$(this).val() = formInput.val();
});

// Same as focusout, as well as blur.
$("#someForm input[type=text]").change(function() {
$(this).val() = formInput.val();
});

//Nope.
$("#someForm input[type=text]").keyup(function() {
    formInput = $("this").val();
});

2 个答案:

答案 0 :(得分:0)

尝试

var inputText;
$("#someForm input[type=text]").keyup(function() {
    inputText = $(this).val();
});

答案 1 :(得分:0)

在现代浏览器中,listen to the input event

$("#someForm input[type=text]").on("input", function() {    
    formInput = $(this).val();
});

但是keyup处理程序也应该有效,如果你清除了关于formInput是否是包含字段值的字符串值或链接到字段本身的jQuery对象的混淆(如果{{ 1}}是一个字符串,它没有formInput方法。)

此代码:

val()

选择所有$("this") 元素,如果返回任何内容,我会感到惊讶。