jQuery表单操作更改不起作用

时间:2011-02-26 01:56:45

标签: jquery forms jqueryform

任何人都知道为什么这个代码段不适用于最新版本的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>

1 个答案:

答案 0 :(得分:2)

这是一个命名冲突,请选择另一个名称。

表单有一个属性“action”和一个成员“action”(select本身,因为它的名字是“action”)。

警告应该在FF中为您提供[object HTMLSelectElement]form.attr('action')点到<select/>,而不是您要访问的表单的action-attribute。