任何人都知道为什么这个代码段不适用于最新版本的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>
答案 0 :(得分:2)
这是一个命名冲突,请选择另一个名称。
表单有一个属性“action”和一个成员“action”(select本身,因为它的名字是“action”)。
警告应该在FF中为您提供[object HTMLSelectElement]
,form.attr('action')
点到<select/>
,而不是您要访问的表单的action-attribute。