JavaScript - Form OnSubmit 有效,但 Action 无效

发布于 2024-07-23 09:44:03 字数 749 浏览 8 评论 0原文

在我的 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.valueaction 事件不能?

On my FORM, for some reason, I can get my form input variable via onsubmit but not using action.

This works:

<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 doesn't work (this.city.value is found to be null)

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

Why is it that onsubmit can get the this.city.value but the action event cannot?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉栀 2024-07-30 09:44:04

编辑:感谢克里斯托夫的评论,下面,我意识到我的巨大疏忽。 这是实施了他的建议的最终解决方案。

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

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

Edit: Thanks to Christoph's comment, below, I realized my huge oversight. Here is the final solution with his suggestion implemented.

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

This should do what you need. I apologize for not giving you my full attention in my previous responses.

以往的大感动 2024-07-30 09:44:04

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

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

HTML forms are used for submitting data back to a script on the server for data processing. When a form is submitted, the data in the form fields is passed to the server in the form of name-value pairs. Server-side scripts, which can be written in several different languages, are used to process the incoming data and return a new HTML page to the browser. The page returned to the browser could be anything from a "Thank you for registering" message or a list of search results generated from a database query.

since form is for sending data to another file on the server. in action we can only specify the path to which we need to send the data. so there you cant get the values which the form is having.

少女的英雄梦 2024-07-30 09:44:03

表单操作标记不使用 this 引用任何内容

,而是使用绝对位置

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

The form action tag doesn't reference anything with this

Instead, use an absolute location

action="javascript:myFnc(document.getElementById('city-field').value)"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文