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

これは名前の競合です。selectに別の名前を付けてください。

フォームには、属性「action」とメンバー「action」があります(名前が「action」であるため、それ自体を選択します)。

アラートはFFで[object HTMLSelectElement]、アクセスしたいフォームのアクション属性ではなく、form.attr('action')ここを指すようにする必要があります。<select/>

于 2011-02-26T02:08:00.503 に答える