使用JavaScript捕捉文本框的值

使用JavaScript捕捉文本框的值,javascript,html,Javascript,Html,我正在尝试显示一个按钮和文本框。让用户输入一个数字。将生成一个随机数,用户有10次尝试正确回答问题。脚本应检查用户数是否等于、小于或大于随机数。我无法从文本框中输入号码 HTML: <form name="myForm"> <div id='myForm'></div> </form> JAVASCRIPT: function partC(){ var guessCount = 10;

我正在尝试显示一个按钮和文本框。让用户输入一个数字。将生成一个随机数,用户有10次尝试正确回答问题。脚本应检查用户数是否等于、小于或大于随机数。我无法从文本框中输入号码

HTML:

<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。答对了。谢谢,这是我的第二期。