【问题标题】:jQuery submit form on select change [duplicate]jQuery在选择更改时提交表单[重复]
【发布时间】:2016-04-18 10:29:32
【问题描述】:

我在这里查看了一些问题并关注了它们,但仍然没有成功。我希望在选择更改时提交表单。我有这个:

HTML:

<form id="form1_currency" action="/" method="post">
    <select id="form1_currency" name="currency" class="autosubmit"><option value="47">GBP</option><option value="142">USD</option><option value="44">EUR</option></select>
    <input id="form1_submit" name="submit" value="OK!" type="submit" /><input type="hidden" name="cms-form" value="Y3VycmVuY3k6cGVyY2hfc2hvcDovdGVtcGxhdGVzL3Nob3AvY3VycmVuY2llcy9jdXJyZW5jeV9mb3JtLmh0bWw6MTQ2MDk3NDgwNg==" />
</form>

JQUERY:

$('.autosubmit').on('change', function(){
  console.log('Option Changed');
  $(this).parent('form').submit();
});

但是表单没有提交。笔在这里:

http://codepen.io/mikehdesign/pen/ZWomjv

帮助不胜感激!

【问题讨论】:

  • 这太奇怪了!!!代码看起来一切正常,如果我为表单提交放置一个事件处理程序并显示一个警报,它也可以工作。除了表格没有提交..
  • 使用下面的代码 --- $(this).siblings('input[type="submit"]').click();代替 $(this).parent('form').submit();
  • @krishna — 请不要在 cmets 中回答问题。评论是给cmets的,答案是给答案的。
  • @krishna - 只是触发点击提交按钮 - 而不是在 onchange 事件上提交表单 - 但是如果你查看我的帖子 - 我通过删除提交按钮来自动提交表单- 因此,如果它自动提交,这就是多余的。

标签: jquery html forms


【解决方案1】:

将按钮的“提交”名称更改为其他名称。这导致了问题。

查看 jQuery submit() 文档:

表单及其子元素不应使用输入名称或 ID 与表单的属性冲突,例如提交、长度或方法。 名称冲突可能会导致令人困惑的失败。如需完整列表 规则并检查这些问题的标记,请参阅DOMLint。

所以只需将 name 属性值从 submit 更改为其他任何值。Working Fiddle

上面代码中的更改部分是这样的

&lt;input id="form1_submit" name="something" value="OK!" type="submit" /&gt;

【讨论】:

  • 为什么要保留提交按钮?这样做的目的是允许在此表单上自动提交,并且表单中唯一的元素是货币选择 - 因此提交按钮的作用是多余的 - 我删除了它并让表单工作 - 尽管没有你很好的描述和被否决了-但我说删除totalis中的按钮并允许自动提交工作。
  • @gavgrif 当您删除提交按钮时,该表单有效,只是因为它有一个name="submit",这将与表单提交冲突。解决方案是拥有按钮并让 jquery 提交工作,这就是这个答案的作用。如果 OP 希望他的提交按钮和 jquery 提交都工作怎么办?您的解决方案更多的是解决方法而不是解决方案。
  • 是的 - 我想你是对的 - 我喜欢你的回答/描述。有道理。帖子已删除 - 谢谢
【解决方案2】:

你可以试试这个。

$('form').submit();

【讨论】:

  • 现有代码已经找到了表单。这是一种不同的方法,可以说更糟(因为它无法处理同一页面上的多个表单),但它有同样的问题。
猜你喜欢
  • 2011-10-31
  • 2014-12-10
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 2018-09-02
  • 2011-07-12
  • 2017-05-23
  • 1970-01-01
相关资源
最近更新 更多