jQuery在选择更改时提交表单

时间:2016-04-18 10:29:33

标签: jquery html forms

我在这里看了几个问题并跟着他们,但仍然没有取得任何成功。我希望在更改选择时提交表单。我有这个:

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

非常感谢!

2 个答案:

答案 0 :(得分:2)

更改按钮&#34;提交&#34;命名别的东西。这导致了问题。

  

请参阅jQuery submit()文档:

     

表单及其子元素不应使用输入名称或ID   与表单属性冲突,例如提交,长度或方法。   名称冲突可能导致混乱的故障。有关的完整列表   规则以及检查这些问题的标记,请参阅DOMLint。

只需将名称属性值从submit更改为其他任何内容。Working Fiddle

上述代码中的更改部分是

<input id="form1_submit" name="something" value="OK!" type="submit" />

答案 1 :(得分:-2)

你可以试试这个。

$('form').submit();