在我的FORM
上,出于某种原因,我可以通过onsubmit
获取表单输入变量,但不能使用action
。
这有效:
<form onsubmit="javascript:myFunc(this.city.value);">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
这不起作用(this.city.value
被发现为空)
<form action="javascript:myFunc(this.city.value);">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
为什么onsubmit
可以获得this.city.value
,但action
事件不能?
答案 0 :(得分:11)
表单操作代码不会引用this
相反,请使用绝对位置
action="javascript:myFnc(document.getElementById('city-field').value)"
答案 1 :(得分:4)
编辑:感谢Christoph在下面的评论,我意识到了我的巨大疏忽。这是他的建议实施的最终解决方案。
<form action="" onsubmit="myFunc(this.city.value); return false;">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
这应该做你需要的。我很抱歉在之前的回复中没有全神贯注。
答案 2 :(得分:0)
HTML表单用于将数据提交回服务器上的脚本以进行数据处理。提交表单时,表单字段中的数据将以名称 - 值对的形式传递给服务器。服务器端脚本可以用几种不同的语言编写,用于处理传入的数据并将新的HTML页面返回给浏览器。返回浏览器的页面可以是“感谢您注册”消息或从数据库查询生成的搜索结果列表。
因为表单用于将数据发送到服务器上的另一个文件。在行动中,我们只能指定我们需要发送数据的路径。所以你无法得到表格所具有的价值。