【问题标题】:jQuery UI autocomplete combobox - prevent form submitjQuery UI 自动完成组合框 - 防止表单提交
【发布时间】:2010-09-25 17:09:39
【问题描述】:

我正在使用 jQuery UI 自动完成的漂亮“组合框”变体 - 请参阅此处:http://jqueryui.com/demos/autocomplete/#combobox

我将它放在一个表单元素中,因为它是表单的一部分。

自动完成组合框有一个<button>,用于显示整个下拉列表。但是,当用户按下它时,表单就会提交。这似乎是因为<button> 具有type="submit" 属性。整个元素由.combobox fn 中的button() 调用创建,参见source code

如何停止提交?

(注意:This guy 也有同样的问题,但他通过删除 form 解决了这个问题 - 我不能这样做)

【问题讨论】:

    标签: jquery-ui jquery-ui-autocomplete


    【解决方案1】:

    啊,没关系,我想通了。

    这里的 jQuery 论坛讨论了这个问题: http://forum.jquery.com/topic/autocomplete-combobox-problem-when-it-is-placed-inside-a-form-tag

    他们提出了几种不同的方法来调整自动完成组合的源代码来修复它。最简单的好像是这样的:

    换行

    $("<button>&nbsp;</button>") 
    

    $("<button type=\"button\">&nbsp;</button>")
    

    这可以防止type="submit" 被插入到最终按钮中。

    【讨论】:

    • 很好的答案,对我帮助很大。谢谢!
    • 它在 Chrome 和 FF 上不起作用。 this.button = $("") .attr("tabIndex", -1 )
    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2011-11-16
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 2012-03-11
    相关资源
    最近更新 更多