如果已经调用了获取输入的函数,那么获取文本框输入的最佳方法是什么?

时间:2016-04-20 22:32:01

标签: javascript jquery

标题可能很难理解,所以我在这里解释一下。

我有一个名为addition的函数,它给用户带来了问题。它显示“4 + 5”之类的问题,为了评估答案,我有一个输入框。

已经调用了添加功能,但是如何在文本框中获取答案的值?我尝试使用jQuery来收听回车按钮,但我不确定如何将这些信息(答案)转发回另一个添加功能。

以下是一个示例:

enter image description here

以下是我正在使用的一些代码:

<input class="answer" id="input" type="text">

JS:

function addition()  { //addition function



   for(i=cookiearray[1]; i>0;i--) { //uses cookies from previous page

   var n1= Math.floor(Math.random() * (cookiearray[3] - cookiearray[2]) + cookiearray[2]); //creates cookie

   //random number between user's min and max
   var n2= Math.floor(Math.random() * (cookiearray[3] - cookiearray[2]) + cookiearray[2]);

   document.getElementById("question").innerHTML = n1 + "+" + n2 + "=" ; //displays to page

2 个答案:

答案 0 :(得分:0)

如果您的文本框的ID是答案,那么您可以

//Declare a global variable
var answer;
function addition()  { //addition function
    for(i=cookiearray[1]; i>0;i--) { //uses cookies from previous page

    var n1= Math.floor(Math.random() * (cookiearray[3] - cookiearray[2]) + cookiearray[2]); //creates cookie

   //random number between user's min and max
   var n2= Math.floor(Math.random() * (cookiearray[3] - cookiearray[2]) + cookiearray[2]);

   document.getElementById("question").innerHTML = n1 + "+" + n2 + "=" ; //displays to page
}

$(document).ready(function(){
    $("#answer").keypress(function(e) {
        if(e.which == 13) {
            answer = $("#answer").val();
        }
    });
});

检测回车键并检索答案。 通过声明一个全局变量,您检索的值可以被js文件中的其他函数使用。

答案 1 :(得分:0)

您也可以按ENTER键查看当前关注的元素。但是现在 - 当他们想要检查他们的答案时,让他们点击一个按钮:

$(document).ready(function(){
   $('#myBtn').click(function(){
      if(calculatedAnswer == $('myInput').val()){
         //correct answer
      } else {
         //incorrect answer
      }
   });
})

如果你知道你在问什么问题 - 你可以随时计算它吗?

$(document).ready(function(){
   $('#myBtn').click(function(){
      var question_id = document.getActiveElement.id //something to this effect
      var calculatedAnswer = calculate_answer(question_id);
      if(calculatedAnswer == $('myInput').val()){
         //correct answer
      } else {
         //incorrect answer
      }
   });
})