我对JavaScript编程非常陌生,我正在尝试使用JavaScript进行表单验证。
在学习表单验证时,我正在阅读有关如何在所有输入字段都经过验证之前禁用提交按钮的方法,我看到了许多方法可以做到这一点,但是,我对以下代码感到困惑:
<body>
<h3>Enter some values in the text to enable the button!</h3>
<input type="text" id="txt" onkeyup="manage(this)" /> //focus here on "this" parameter
<input type="submit" id="btSubmit" disabled />
</body>
<script>
function manage(txt) {
var bt = document.getElementById('btSubmit');
if (txt.value != '') {
bt.disabled = false;
}
else {
bt.disabled = true;
}
}
</script>
在此,此参数作为html中输入元素事件侦听器的参数传递。我试图通过比其他东西这从那里,它没有工作,只有通过这个作品,
据我所知,这在JavaScript中表示当前执行上下文,但是由于这是JavaScript关键字,那么它如何在html内解释?
传递'this'时的JS FIDDLE LINK:https ://jsfiddle.net/s0vnjpqb/
传递'some'时的JS链接:https ://jsfiddle.net/s0vnjpqb/
PS:我是JavaScript新手,所以问题很简单,这可能不符合堆栈溢出的标准,但是我尝试研究堆栈溢出以及其他我不理解的平台。
正如您在描述中正确提到的那样this
,Javascript表示当前执行上下文。
同样在HTML
this
还表示当前执行上下文的ThisBinding的值,并this.value
指示当前执行上下文的值
例如txt.value
你的情况。
或者,您可以做的是,
<body>
<h3>Enter some values in the text to enable the button!</h3>
<input type="text" id="txt" onkeyup="manage()" /> //focus here on "this" parameter
<input type="submit" id="btSubmit" disabled />
</body>
<script>
function manage(txt) {
var value = document.getElementById("txt").value;
var bt = document.getElementById('btSubmit');
if (value != '') {
bt.disabled = false;
}
else {
bt.disabled = true;
}
}
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句