【发布时间】:2014-01-28 12:44:26
【问题描述】:
在我的代码中,我有三个单选按钮,如果用户选择一个并单击提交按钮 (name="generateQuestion"),它应该根据用户的选择在文本框 (name="quest") 中显示一些文本。我的问题是,我从 javascript 中获得了一些价值,但它出现在 html 文本框中并立即消失。似乎在单击提交按钮时调用了 javascript 函数并更新了文本框值,但是随着页面重新加载,该值消失并且文本框再次保持默认值。我需要将值保留在文本框中。我检查了 IE、FF 和 chrome 的问题并得到了相同的结果。如果我需要在代码中添加一些内容,请告诉我。目前我还没有在JS函数中编写逻辑供用户选择,只需要从javascript设置html文本框的值,点击提交按钮后该值应该保留在文本框中。
HTML
<form id="mathForm" name="mathForm" action="" method="post">
Step 1: Do you want to Add, Substract or Multiply?<br>
<input type="radio" id = "add" name="mathQ" value="addition">Answer a question on Addition<br>
<input type="radio" id = "subt" name="mathQ" value="subtraction">Answer a question on subtraction<br>
<input type="radio" id = "mul" name="mathQ" value="multiplication">Answer a question on multiplication<br>
<input type="submit" onclick="setQuestion()" id = "genQues" name="generateQuestion" value=" Step 2:Generate Question Item! "><br><br>
Here's your Question:<br>
<input type="text" id="quest" name="quest" size="45"><br><br>
Step 3:Type your answer here:<br>
<input type="text" name="answer" size="45"><br><br>
<input type="submit" name="checkAnswer" value=" Step 4:See if you are right! "><br><br>
</form>
Javascript
var radioVal;
function setQuestion()
{
var radios = document.getElementsByName('mathQ');
for (var i = 0, length = radios.length; i < length; i++)
{
if (radios[i].checked)
{
radioVal = radios[i].value;
break;
}
}
var num1 = (Math.random()*10^17)%19;
var num2 = (Math.random()*10^17)%19;
var txt = 'some text';
var tbox = document.getElementById('quest');
tbox.value = txt;
}
【问题讨论】:
-
正在从服务器发送响应。让它包含 HTML 中的值。
标签: javascript html