我遇到了一个非常令人困惑的问题,我有一个非常简单的(阅读过的,试图理解的新手)Web表单。表单如下所示:
<form id="myform">
<input type="text" name="t" id="t" />
<input type="submit" id="sub" value="Submit" />
</form>
然后,我也有一些非常简单的js,我只想使用它们来检查用户在执行其他操作和提交之前的值。
function search()
{
var form = document.querySelector("form");
s = form.elements[0].value;
alert(form.elements[0].type);
alert(form.elements[0].value);
}
我不明白为什么,无论我做什么,第一个警报都显示我想要的“文本”类型,而第二个警报则什么也没有返回。无关紧要的是什么,当我提交时,它甚至在javascript捕获之前就消失了。
我也尝试过
document.forms["myform"].addEventListener("submit", function(event) {
event.preventDefault();
});
而且似乎在刷新时始终提交页面这一事实没有影响,但是它确实阻止了我的按钮的提交。
; tldr我只想要文本字段中的文本值,以便可以进行一些验证,但是它始终为空。
edit
让我知道我是否可以“结束”问题。问题是我如何将功能绑定到按钮,而我什至没有考虑过。小心那些“()”
您可能必须将关键字“搜索”更改为其他内容:
<script type="text/javascript">
function doSearch() {
var t = document.getElementById('t');
alert(t.type);
alert(t.value);
}
</script>
然后这将起作用:
<input type="text" name="t" id="t" />
<input type="submit" id="sub" value="Submit" />
<a href="#" onclick="doSearch(); return false;">do search</a>