Два вопроса Javascript о (а) формах и (б) окнах подсказок - PullRequest
1 голос
/ 14 июля 2011

У меня есть два вопроса о Javascript:

  • Как я могу предотвратить очистку моих полей при попытке отменить отправку формы, вернув false в функции onsubmit?

У меня есть форма со значением onsubmit " return validate () ". Если validate () находит ошибку в полях, он возвращает false, что должно остановить отправку формы. Это так, но все мои поля очищаются, и браузер игнорирует Javascript, который я запускаю перед оператором return, например document.write. Пример:

function validate() {
//If there's an error:
document.write("Error!");
return false;       }

Как я могу предотвратить это?

  • Могу ли я иметь форму в окне подсказки (всплывающем окне)?

Мне не только не удалось поместить несколько входных данных в одну подсказку Javascript (), но и поместить отправляемую форму в окно подсказки. У меня такое чувство, что это невозможно с Javascript, и я хотел бы знать, как этого добиться.

Спасибо.

Ответы [ 2 ]

1 голос
/ 14 июля 2011

1) Используйте оповещение или элементы внутреннего текста для отображения ошибки, чем document.write.Запишите документ, очистите DOM и напишите указанное содержимое, чтобы вы потеряли данные формы.

Используйте

function validate() {
//If there's an error:
document.getElementById('errorDiv').innerText = 'your error message';
return false;       }

2) Если вы говорите о собственном окне приглашения, то ответ - нет.Если вы говорите о всплывающем окне JS, тогда да, вы можете поместить форму внутрь всплывающего окна.Pop - это то же самое, что любое окно браузера, где вы можете показать любую HTML-страницу.

0 голосов
/ 15 июля 2011

onsubmit="return validate()" в порядке.Должна быть еще одна причина, по которой ваши поля очищаются.Что делает ваша validate() функция?Если ваша кнопка отправки на самом деле не является кнопкой reset () - или где-то есть ошибка JavaScript, и форма отправляется независимо (проверьте консоль JavaScript в браузере).

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