У меня есть HTML-форма, действие которой должно быть установлено динамично через JavaScript. Как я делаю это? Вот то, чего я пытаюсь достигнуть:
<script type="text/javascript">
function get_action() { // inside script tags
return form_action;
}
</script>
<form action=get_action()>
...
</form>
Вы не можете вызывать функции JavaScript в стандартных атрибутах HTML, кроме в XXX
. Просто назначьте его во время загрузки окна.
<script type="text/javascript">
window.onload = function() {
document.myform.action = get_action();
}
function get_action() {
return form_action;
}
</script>
<form name="myform">
...
</form>
Вы видите, что я дал форме имя
, так что она легко доступна в документе
.
Вы также можете сделать это во время события submit
:
<script type="text/javascript">
function get_action(form) {
form.action = form_action;
}
</script>
<form onsubmit="get_action(this);">
...
</form>
document.forms[0].action="http://..."
... при условии, что это первая форма на странице.
Обычный JavaScript:
document.getElementById('form_id').action; //Will retrieve it
document.getElementById('form_id').action = "script.php"; //Will set it
Использование jQuery ...
$("#form_id").attr("action"); //Will retrieve it
$("#form_id").attr("action", "/script.php"); //Will set it
Делайте, как говорит Рабботт, или если вы отказываетесь от jQuery:
<script type="text/javascript">
function get_action() { // inside script tags
return form_action;
}
</script>
<form action="" onsubmit="this.action=get_action();">
...
</form>