Изменение формы действия jQuery не работает - PullRequest
1 голос
/ 26 февраля 2011

Кто-нибудь знает, почему этот фрагмент НЕ работает в новейшей версии 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 Ответ

2 голосов
/ 26 февраля 2011

Это конфликт имен, присвойте другому имя.

Форма имеет атрибут «действие» и член «действие» (сам выбор, потому что его имя - «действие»).

Предупреждение должно давать вам в FF [object HTMLSelectElement], form.attr('action') баллов здесь на <select/> вместо атрибута действия формы, к которой вы хотите обратиться.

...