【问题标题】:Selective Submission of form using <button> tag not working使用 <button> 标签选择性提交表单不起作用
【发布时间】:2011-05-24 12:16:29
【问题描述】:

我想要一个函数从表单中获取一些值作为输入并在后台进行操作。我试过了,但它转到了一个 url mydomain.com/gtype=selected value 。我只是想让它在后台做一些事情而不是改变 url

我这里有一把小提琴。 http://jsfiddle.net/4qppX/

【问题讨论】:

    标签: javascript html forms select button


    【解决方案1】:

    你需要在你的onclick处理程序中return false

    <button onclick="hihi(this.form.gtype); return false">sub</button>
    

    另一种方法是通过说type="button" 使按钮成为non-submitting button

    <button type="button" onclick="hihi(this.form.gtype);">sub</button>
    

    我不确定W3C states 的原因:

    如果元素有表单所有者,则该元素必须从按钮元素提交表单所有者。

    【讨论】:

    • 通过返回 false,您告诉表单不要提交。如果您返回 true,那么它将提交。或者,您可以将按钮 type="button" 设为非提交按钮。
    • 那么表单中的任何按钮是否默认都是提交按钮?这和输入 type=submit 不一样吗?
    • 我不知道为什么这是默认行为。
    【解决方案2】:

    您还可以确保您的按钮只是一个按钮,而不是“提交”控件:

    <button type='button' onclick='hihi(this.form.gtype)'>sub</button>
    

    【讨论】:

    • 好的,知道了。我现在在 w3cschools 上阅读它。始终指定按钮的类型属性。 Internet Explorer 的默认类型是“按钮”,而在其他浏览器(以及 W3C 规范中)它是“提交”
    猜你喜欢
    • 2023-03-24
    • 2014-07-17
    • 2018-12-11
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多