简单的Web表单文本字段不返回任何内容

问题描述 投票:0回答:1

我遇到了一个非常令人困惑的问题,我有一个非常简单的(阅读过的,试图理解的新手)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

让我知道我是否可以“结束”问题。问题是我如何将功能绑定到按钮,而我什至没有考虑过。小心那些“()”

input webforms submit
1个回答
0
投票

您可能必须将关键字“搜索”更改为其他内容:

<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>
© www.soinside.com 2019 - 2024. All rights reserved.