Сброс формы с помощью JavaScript - PullRequest
1 голос
/ 05 августа 2009

Я сбрасываю свою форму со следующим:

<script type="text/javascript">

window.onload = function () {
document.getElementsByName("email_address")[0].value = "";
document.getElementsByName("remove")[0].value = "off";
}



</script>

проблема в том, что флажок «удалить» сбрасывается до запуска сценария на стороне сервера. Таким образом, все, что пользователь выбрал в этом поле, переопределяется и отключается до запуска сценария php. Тем не менее, поле ввода "email_address" в порядке ...

тест ...

//this is already set to OFF by the time we get here....even if the user may have ticked the checkbox to ON
echo $HTTP_GET_VARS['remove'];

//this is fine, the email_address input is read and not reset...
echo $HTTP_GET_VARS['email_address'];

Кто-нибудь может это объяснить? Я очевидно хочу, чтобы форма была сброшена ПОСЛЕ того, как мой серверный скрипт завершил обработку, но по какой-то причине он сбрасывает флажок раньше, но поле ввода в порядке ...

спасибо!

Ответы [ 3 ]

3 голосов
/ 05 августа 2009

Я действительно запутался. Вы говорите, что не хотите, чтобы форма очищалась до того, как она вернет значение после отправки (вы делаете здесь форму ajax?), Но отправленный вами образец кода настроен на выполнение при загрузке страницы. Конечно он будет сброшен до отправки.

Вместо этого вам нужно настроить его на выполнение после завершения отправки формы и получения ожидаемого ответа.

И не беспокойтесь о ручном сбросе каждого элемента формы, просто используйте вместо этого метод form.reset().

1 голос
/ 05 августа 2009

Почему бы просто ...

document.forms[0].reset();
1 голос
/ 05 августа 2009

попробуйте следующее вместо выключенного

document.getElementsByName("remove")[0].checked = false;

ура

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...