如何捕获文本框

时间:2016-04-06 06:16:49

标签: javascript jquery

我有一个小调查的网页。我想根据前一个问题的用户输入预先填充一些答案。

在下面的代码中,如果id QR~QID3的值取决于QID1_Total的值。但是,在加载页面后,即使满足条件,文本框也不会填充正确的值。

.addOnload(function()
{
    if(document.getElementById("QID1_Total").value>15) {
        document.getElementById("QR~QID3").value = "Good";
        }

    else{
        document.getElementById("QR~QID3").value = "Average";
    }

});

3 个答案:

答案 0 :(得分:4)

$("#QID1_Total").on("input", function() {
   //statements goes here
});

使用on("input"将跟踪每个输入事件,包括删除和粘贴。

了解有关onInput的更多信息:https://mathiasbynens.be/notes/oninput

  

以下是了解触发器如何工作的小提琴示例:   https://jsfiddle.net/5sotpa63/

假设

让我们假设您正在使用一个函数,该函数根据用户输入显示Good和Average。

var targetElem  = document.getElementById("QID1_Total");
var showComment = (targetElem,value>15) ? "Good" : "Average";
document.getElementById("QR~QID3").value = showComment;

上面的代码是你问题中提到的自己陈述的较短方法。

现在,在更改目标QR~QID3时,您需要加载一些内容。您使用以下代码如下。

$("#QR~QID3").on("input", function() {
  //your next question loading statements goes here,
  //statements to proceed when you show some comment Good or Average
}).trigger("input");

希望!这可能会有所帮助。

答案 1 :(得分:1)

$('#QID1_Total')。keydown(function(){

//你的代码

});

当在输入字段中按下鼠标键时,该函数被称为

答案 2 :(得分:1)

您需要向“QID1_Total”元素添加事件侦听器。 如果要在用户更改输入时运行检查,即在每次按键后使用 oninput 事件。 如果要在用户完成输入后运行检查,请使用 onchange 事件。 onchange 事件仅在输入失去焦点后才会触发。

您可以使用addEventListener()函数绑定事件侦听器,如下所示:

document.getElementById("QID1_Total").addEventListener("input", function(){ //Code goes here });

Here is a JSFiddle showing both methods.

您还必须在文本框值上使用parseInt()函数,然后才能使用它们执行数学函数。