jQuery 表单操作更改不起作用
有人知道为什么这个片段在最新版本的 Firefox 中不起作用吗? (在 Chrome 中正常工作)。
$("select[name='action']").live('change', function()
{
$(this).closest("form").attr('action', $(this).val());
alert($(this).closest("form").attr('action'));
//$(this).closest("form").submit();
});
编辑 它在 IE8 中也不起作用。诡异的。
HTML
<form method="post" action="#">
<fieldset>
<select style="width:95px" name="action" class="action">
<option>Select</option>
<option value="/user/account">Preview</option>
<option value="/user/account/edit">Edit</option>
<option value="/user/account/upgrade">Upgrade</option>
</select>
</fieldset>
</form>
Anybody has any idea why this snippet is NOT working in newest version of Firefox? (working correctly ex. in Chrome).
$("select[name='action']").live('change', function()
{
$(this).closest("form").attr('action', $(this).val());
alert($(this).closest("form").attr('action'));
//$(this).closest("form").submit();
});
Edit
It's not working in IE8 too. Weird.
HTML
<form method="post" action="#">
<fieldset>
<select style="width:95px" name="action" class="action">
<option>Select</option>
<option value="/user/account">Preview</option>
<option value="/user/account/edit">Edit</option>
<option value="/user/account/upgrade">Upgrade</option>
</select>
</fieldset>
</form>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是命名冲突,请为选择指定另一个名称。
该表单有一个属性“action”和一个成员“action”(选择本身,因为它的名称是“action”)。
警报应该在 FF 中为您提供一个
[object HTMLSelectElement]
,form.attr('action')
指向It's a naming-conflict, give the select another name.
The form has an attribute "action" and a member "action" (the select itself, because it's name is "action").
The alert should give you in FF an
[object HTMLSelectElement]
,form.attr('action')
points here onto the<select/>
instead of the action-attribute of the form, which you like to access.