我有这样的表格......
<form action="/tags/3" class="edit_tag" id="edit_tag_3" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="_method" type="hidden" value="put" />
</div>
<input class="tag_form_field" id="tag_name" maxlength="255" name="tag[name]" size="42" type="text" value="" />
</form>
我正试图像这样提交......
$('.tag_form_field').change(function() {
$(event.target).closest('form').submit();
});
当我更改输入时,表单不会提交。什么都没发生 - 没有错误。
我知道选择器和onChange()处理程序都在工作。我通过用{jQuery submit()
函数替换css()
来测试它们,它运行良好。
我在Safari X和Chrome OS上测试了它,结果相同。
有什么想法吗?
感谢。
我尝试了同样的结果......
$('.tag_form_field').change(function() {
$(this).closest('form').submit();
});
$('.tag_form_field').change(function(e) {
$(e.target).closest('form').submit();
});
$('.tag_form_field').change(function() {
$(this).closest('form').submit();
});
$('.tag_form_field').change(function() {
$(this).closest('form')[0].submit();
});
答案 0 :(得分:2)
尝试$(this).closest('form.edit_tag')[0].submit();
否则它只会触发表单上的submit
事件。
答案 1 :(得分:1)
我不知道。你能尝试用这种方式来表达:
$('.tag_form_field').change(function(e){
$(e.target).closest('form.edit_tag').submit();
});
jQuery应该为您正确封装event
对象,无论浏览器如何。
另外,我倾向于认为你可能在form
内没有form
,所以不应该专门选择a&#34;表格edit_tag
&#34;,不应该在那里吗?可能只需要$(this).closest('form')
就足够了吗?