Ответ 1
Мне интересно ваше утверждение о том, что обработчик submit
не работал для вас. Это для меня. Я использовал его в течение многих лет, чтобы заполнить скрытые поля перед отправкой форм; должен работать и для других полей формы.
Пример (живая копия):
HTML:
<form id='theForm'
action='http://www.google.com/search'
method='GET' target='_new'>
<label>Search for:
<input type='text' name='q' id='txtSearch'></label>
<input type='submit' id='btnSearch' value='Search'>
JavaScript:
window.onload = function() {
document.getElementById('theForm').onsubmit = function() {
var txt = document.getElementById('txtSearch');
txt.value = "updated " + txt.value;
};
};
Протестировано и работает над IE6 и IE7 в Windows, а также Chrome, Firefox и Opera в Linux.
Обновить. На основе вашего комментария ниже вы используете jQuery. Работает отлично, используя jQuery для всего:
$('#theForm').submit(function() {
var txt = $('#txtSearch');
txt.val("updated " + txt.val());
});
Пример в реальном времени Протестировано и работает над одним и тем же набором браузеров. В этой версии используется более открытый поиск, а не id
, а также все еще работает.