JavaScript—表单在Submit上工作,但动作不工作';T

JavaScript—表单在Submit上工作,但动作不工作';T,javascript,html,xhtml,onsubmit,Javascript,Html,Xhtml,Onsubmit,在我的表单上,出于某种原因,我可以通过onsubmit获取表单输入变量,但不能使用操作 这项工作: <form onsubmit="javascript:myFunc(this.city.value);"> <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /><

在我的
表单
上,出于某种原因,我可以通过
onsubmit
获取表单输入变量,但不能使用
操作

这项工作:

<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>

为什么
onsubmit
可以获得
this.city.value
,而
action
事件无法获得?

编辑:感谢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>


这应该可以满足你的需要。很抱歉,我在之前的回复中没有给予您充分的关注。

表单操作标签没有引用任何与此相关的内容

相反,请使用绝对位置

action="javascript:myFnc(document.getElementById('city-field').value)"

HTML表单用于将数据提交回服务器上的脚本进行数据处理。提交表单时,表单字段中的数据以名称-值对的形式传递给服务器。服务器端脚本可以用几种不同的语言编写,用于处理传入的数据并将新的HTML页面返回到浏览器。返回到浏览器的页面可以是“谢谢注册”消息或数据库查询生成的搜索结果列表中的任何内容


因为表单用于将数据发送到服务器上的另一个文件。在实际操作中,我们只能指定需要将数据发送到的路径。因此,您无法获取表单所具有的值。

这会导致页面重新加载-我不需要重新加载页面。我在发布答案后立即注意到了它,但后来我更新了一个不重新加载的示例。您可以通过从事件处理程序返回
false
来防止默认操作,即
onsubmit=“myFunc(this.city.value);返回false;“
我试过了,但OnClick事件不起作用。是否需要使用OnSubmit事件(只有在表单中才会出现)?
action="javascript:myFnc(document.getElementById('city-field').value)"