在Javascript函数中没有获取HTML文本框值?已经搜索过,但没有';我找不到令人信服的答案

在Javascript函数中没有获取HTML文本框值?已经搜索过,但没有';我找不到令人信服的答案,javascript,asp.net,Javascript,Asp.net,我是一个试图从文本框中获取HTML以用于if/else语句的初学者。 这是我的HTML代码: <label id="label1"> Enter any Number: </label> <input type="button" id="Button1" value="button" /> <input type="text" id="TextBox1" name="myname" /> 然后 buttonE

我是一个试图从文本框中获取HTML以用于if/else语句的初学者。 这是我的HTML代码:

    <label id="label1">
    Enter any Number:
</label>
<input type="button" id="Button1"  value="button" />
    <input type="text" id="TextBox1" name="myname" />
然后

      buttonElement.addEventListener('click', function() { Clicked(txt_value.value) }, false);
上面的例子非常好用

有人能告诉我出了什么问题吗:

    var txt_value =document.getElementById("TextBox1").value;

我不知道为什么我会得到一个空的txt_值,原因是在用户输入任何内容之前,您会在
txt_值中得到值;因此,该值始终为空

如果将代码更改为:

var txt_value =document.getElementById("TextBox1");//removed .value
然后单击该函数以:

function Clicked(txt_value) {

    if (txt_value.value == 7) { //added .value
        alert("You are 7");
    }
    else { alert("You are not 7"); }
}
应该有用


下面是一个

将值的获取移动到单击处理程序中

var textbox1 = document.getElementById("TextBox1");

document.getElementById("Button1").onclick = function () {
    var txt_value = textbox1.value;

    if (parseInt(txt_value, 10) === 7) {
        alert("You are 7");
    } else { 
        alert("You are not 7"); 
    }
};
现在,您将获得页面加载时文本框中的值

这里有一个来测试这一点


更新通过缓存文本框提高了效率。删除了onclick(更多浏览器支持)的addEventListener

thnks:)我知道。所以原因是我试图在用户输入之前访问该值,所以变空很好thanku@ShilpaGurnani我很高兴能帮上忙。我注意到你在这里被认识。。。请不要忘记接受对你帮助最大的答案。这将增加将来在这里获得帮助的机会。是因为使用addEventListener,否则,如果m必须在html标记中写入onclick,那么它必须使用var txt_value=document.getElementById(“TextBox1”).value写得很好;你肯定:)我接受了答案,但好像我得到提示,你可以在6点后接受minutes@ShilpaGurnani问题是当页面加载时,在用户有机会与页面交互之前,变量赋值(
var txt_value=document.getElementById('TextBox1').value
)会立即发生;因此,
txt\u值
变量最终为空。您只需要在用户单击按钮时读取该值。当页面加载时,可以获取对文本输入元素的引用,但你只需要在用户点击时读取值。事实上,我阅读了一些最新的内容,比如使用事件列表而不是onclick,因此使用了,顺便说一句,我的addEventListener适用于chrome,addEvent适用于IE,那么除了上面的onclick-in标记之外,是否还有其他方式可以在所有浏览器中使用?
function Clicked(txt_value) {

    if (txt_value.value == 7) { //added .value
        alert("You are 7");
    }
    else { alert("You are not 7"); }
}
var textbox1 = document.getElementById("TextBox1");

document.getElementById("Button1").onclick = function () {
    var txt_value = textbox1.value;

    if (parseInt(txt_value, 10) === 7) {
        alert("You are 7");
    } else { 
        alert("You are not 7"); 
    }
};