gpt4 book ai didi

javascript - getElementById 无法获取表单的控制权

转载 作者:行者123 更新时间:2023-12-03 07:53:52 25 4
gpt4 key购买 nike

我有以下搜索表单:

<form method="get" action="SearchResults.asp" id="frmSearch" name="frmSearch">
<input id="q" name="q" type="text" size="50" />

<input type="submit" value="Search" id="button1" name="button1" />

</form>

我使用以下代码将 Javascript 添加到表单提交事件:

window.onload = function(){
var frm = document.getElementById("frmSearch");
if (window.addEventListener){


frm.addEventListener('submit',function() {validate(frm);} ,false);

}else if (window.attachEvent){

frm.attachEvent('onsubmit', function() {validate(frm);} );
}
}

验证函数如下:

function validate(frm) {
alert(frm.id);
var inputs = frm.getElementsByTagName("input");
alert(inputs[0].id);
alert(frm.getElementById("q"));
if (frm.getElementById("q").value=='') {
alert("Please enter your search terms.");
frm.getElementById("q").focus();
return false;
}

frm.getElementById("button1").disabled = true;

return true;
}

验证函数运行,但显然由于 Javascript 忽略该行而出错

frm.getElementById("q")

因为alert(frm.id);返回表单id"frmSearch"alert(inputs[0].id)返回"q" 是文本框的 id,但是 alert(frm.getElementById("q")) 根本不显示任何内容,甚至不显示空警报框。

谁能帮我诊断这个问题吗?

最佳答案

getElementById 是文档的一种方法,而不是每个 HTML 元素。您需要调用 document.getElementById()

关于javascript - getElementById 无法获取表单的控制权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34882999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com