フォームの後に次のスニペットを配置します。
function addListener(element, eventName, handler) {
if (element.addEventListener) {
element.addEventListener(eventName, handler, false);
}
else if (element.attachEvent) {
element.attachEvent('on' + eventName, handler);
}
else {
element['on' + eventName] = handler;
}
}
var form = document.forms['testarea'];
var input = document.getElementById('test1');
addListener(form, 'submit', function () {
var url = input.value;
form.setAttribute('action', url);
});
私はそれをテストしていませんが、動作するはずです。純粋な JavaScript を記述する代わりに、jquery などのライブラリを使用することをお勧めします。生活が楽になり、クロスブラウザーの問題が少なくなります。
jQuery では、コードは次のようになります。
$('form[name="testarea"]').on('submit', function () {
var url = $('#test1').val();
$(this).attr('action', url);
});