IE 9 очищает поля формы - PullRequest
       24

IE 9 очищает поля формы

1 голос
/ 03 апреля 2012

Это действительно странная проблема, которую я не могу решить.На сайте WordPress у меня есть несколько форм (логин, регистрация и т. Д.), Которые выводятся на сайт через короткие коды.Когда формы отправляются, их данные обрабатываются с помощью ловушки «init», которая прослушивает данные $ _POST.

Обратите внимание, что на сайте работает WordPress, но я считаю, что это не проблема WordPress,вот почему я публикую здесь.

Когда формы отправляются в IE 9, все поля очищаются от значений при нажатии кнопки отправки.Например, предположим, что есть поле ввода с именем «username», а значение поля установлено в «johndoe»;при отправке формы через любой браузер, кроме IE 9 (включая 7 и 8), данные поступают следующим образом:

$_POST['username'] = 'johndoe'

Точно так же, как и ожидалось.

ОднакоКогда форма отправляется в IE9, она выглядит так:

$_POST['username'] = ''

Насколько я могу судить, это происходит с каждой формой на сайте.

Пользовательская форма входа, которую я создал, например, выглядит следующим образом:

<form id="re_login_form" class="re_login_form" action="" method="post">
    <fieldset>
            <label for="re_user_Login"><?php _e('Username', 're'); ?></label>
            <input name="re_user_login" id="re_user_login" class="required" type="text" title="<?php _e('Username', 're'); ?>"/>
    </fieldset> 
    <fieldset>
            <label for="re_user_pass"><?php _e('Password', 're'); ?></label>
            <input name="re_user_pass" id="re_user_pass" class="password required" type="password"/>
    </fieldset>
    <fieldset class="form-action">
            <input type="hidden" name="refalf_redirect" value="<?php echo $redirect; ?>"/>
            <input type="hidden" name="re_login_nonce" value="<?php echo wp_create_nonce('re-login-nonce'); ?>"/>
            <input id="re_login_submit" type="submit" class="button re_submit" value="<?php _e('Log In', 're'); ?>"/>
            <p class="forgot-password"><a href="<?php echo wp_lostpassword_url( get_permalink() ); ?>" title="<?php _e('Lost Password', 're'); ?>"><?php _e('Lost Password?', 're'); ?></a></p>
    </fieldset> 
</form>

Одна из самых интересных вещей заключается в том, что поля визуально очищаются от своих значений при нажатии кнопки отправки в IE9.,Также, как будто кнопка отправки вызывает в IE9 что-то, что очищает поля.

У кого-нибудь есть идеи?

Ответы [ 3 ]

3 голосов
/ 18 апреля 2012

Я смог решить эту проблему, дав каждому полю ввода атрибут-заполнитель. Я до сих пор не знаю, почему это заставило его работать, но когда присутствовал заполнитель, все работало нормально.

1 голос
/ 18 апреля 2012
0 голосов
/ 27 августа 2014

Я только что столкнулся с немного похожим случаем: IE9 отправил форму обратно лишь частично;некоторые значения были очищены при отправке.Я протестировал отправку формы с IE9, IE10, IE11, Chrome36, FF31 и всеми остальными, за исключением IE9.поля ввода или кнопки отправки были созданы каким-либо автоматическим шаблоном / редактором.

После того, как я удалил эти дополнительные узлы формы, IE9 начал отправлять все поля.Я работал с ASP.NET 4.5 MVC4.

...