onchange = "javascript: document.my_form.submit ()" против обычной отправки - PullRequest
0 голосов
/ 06 марта 2009

У меня есть поле выбора в форме:

<form id="myform">
<select id="value" onchange="javascript: document.myform.submit()">
    <option>....
</select>
</form>

После отправки формы невозможно использовать кнопку «Назад» без повторной отправки формы. Однако, если я использую обычную кнопку «отправить», это возможно.

Есть ли какой-нибудь способ, которым вы знаете, чтобы получить такое поведение, все еще имея возможность использовать JavaScript 'submit ()'?

Доступность не является проблемой, для использования этого сайта требуется наличие javascript, и клиент так хочет.

Ответы [ 2 ]

3 голосов
/ 06 марта 2009

Вместо этого вызовите функцию.

<select id="value" onchange="sendForm()">

... блок скриптов ...

function sendForm() {
    document.myform.submit()
}

Кроме того, вам никогда не нужно указывать javascript: вне тега HREF.

0 голосов
/ 07 марта 2009

"onchange работает только в первый раз?"

Вы повторно выбираете то же значение? onchange срабатывает только при изменении. Если вы хотите иметь возможность повторно выбрать ту же опцию, вам нужно использовать onblur.

Также вы действительно должны использовать

document.getElementById("myform").submit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...