使用JavaScript捕捉文本框的值
我正在尝试显示一个按钮和文本框。让用户输入一个数字。将生成一个随机数,用户有10次尝试正确回答问题。脚本应检查用户数是否等于、小于或大于随机数。我无法从文本框中输入号码 HTML:使用JavaScript捕捉文本框的值,javascript,html,Javascript,Html,我正在尝试显示一个按钮和文本框。让用户输入一个数字。将生成一个随机数,用户有10次尝试正确回答问题。脚本应检查用户数是否等于、小于或大于随机数。我无法从文本框中输入号码 HTML: <form name="myForm"> <div id='myForm'></div> </form> JAVASCRIPT: function partC(){ var guessCount = 10;
<form name="myForm">
<div id='myForm'></div>
</form>
JAVASCRIPT:
function partC(){
var guessCount = 10;
var random = Math.round(Math.random()*100);
var button = document.createElement('input');
button.type = "button";
button.value = " Guess! ";
document.getElementById('myForm').appendChild(button);
var textbox = document.createElement('input');
textbox.type = 'number';
document.getElementById('myForm').appendChild(textbox);
var check = document.getElementById('textbox').value
button.onclick = calc(guessCount, random, check);
}
function calc(guessCount, random, check){
while(guessCount > 0) {
if (check == random){
alert("Correct!");
} else if (check > random) {
alert("Try Again. Guess to High. " + guessCount + " tries left.");
} else if (check < random) {
alert("Try Again. Guess to Low. " + guessCount + " tries left.");
}
guessCount--;
}
}
函数partC(){
var猜测计数=10;
var random=Math.round(Math.random()*100);
var按钮=document.createElement('input');
button.type=“button”;
button.value=“猜猜看!”;
document.getElementById('myForm').appendChild(按钮);
var textbox=document.createElement('input');
textbox.type='number';
document.getElementById('myForm').appendChild(文本框);
var check=document.getElementById('textbox')。值
button.onclick=calc(猜测计数、随机、检查);
}
函数计算(猜测计数、随机、检查){
而(猜测计数>0){
如果(检查==随机){
警惕(“正确!”);
}否则如果(选中>随机){
警告(“再试一次。猜测到高。”+猜测计数+“尝试向左。”);
}否则如果(勾选<随机){
警报(“再试一次。猜测到低。”+猜测计数+“尝试向左。”);
}
猜数--;
}
}
您正在使用id访问值,而您没有为输入提供任何id
试试这个:
textbox.id = 'textbox';
您忘记设置textbox元素的id。尝试在创建id后添加它。然后您可以通过其id获取元素,在您的示例中,id是
textbox
var myEl=document.getElementById('a');
myEl.addEventListener('click',function(){
警报(document.getElementById('text').value);
},假)代码>
警报文本
Jquery为您提供了一个极好的选项
$('#unique-id').val();
唯一ID将是指定textarea的任何值。因此,在这种情况下:
<textarea id="unique-id"></textarea>
您的代码将回调函数结果分配给onclick事件,而不是函数本身。此外,您还尝试运行while循环,该循环将在首次单击事件时使用猜测计数
我编辑了代码,下面应该可以:
function partC(){
var guessCount = 10;
var random = Math.round(Math.random()*100);
var button = document.createElement('input');
button.type = "button";
button.value = " Guess! ";
document.getElementById('myForm').appendChild(button);
var textbox = document.createElement('input');
textbox.type = 'number';
document.getElementById('myForm').appendChild(textbox);
button.onclick = function(){
var check = textbox.value*1;
if (check == random){
alert("Correct!");
} else if (check > random) {
alert("Try Again. Guess to High. " + guessCount + " tries left.");
} else if (check < random) {
alert("Try Again. Guess to Low. " + guessCount + " tries left.");
}
guessCount--;
}
}
函数partC(){
var猜测计数=10;
var random=Math.round(Math.random()*100);
var按钮=document.createElement('input');
button.type=“button”;
button.value=“猜猜看!”;
document.getElementById('myForm').appendChild(按钮);
var textbox=document.createElement('input');
textbox.type='number';
document.getElementById('myForm').appendChild(文本框);
button.onclick=函数(){
var check=textbox.value*1;
如果(检查==随机){
警惕(“正确!”);
}否则如果(选中>随机){
警告(“再试一次。猜测到高。”+猜测计数+“尝试向左。”);
}否则如果(勾选<随机){
警报(“再试一次。猜测到低。”+猜测计数+“尝试向左。”);
}
猜数--;
}
}
我只是想把这个添加到所有其他答案中。您可能需要在此行后加一个分号:
var check = document.getElementById('textbox').value
OP没有提到他们正在使用jQuery。答对了。谢谢,这是我的第二期。