1

任何人都知道为什么这个片段在最新版本的 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>
4

1 回答 1

2

这是一个命名冲突,给选择另一个名字。

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

警报应该在 FF 中为您提供一个[object HTMLSelectElement],form.attr('action')在此处指向<select/>您想要访问的表单的操作属性而不是操作属性。

于 2011-02-26T02:08:00.503 回答