我有一个 HTML 表单,它的操作应该通过 JavaScript 动态设置。我该怎么做?
这是我想要实现的目标:
<script type="text/javascript">
function get_action() { // Inside script tags
return form_action;
}
</script>
<form action=get_action()>
...
</form>
我有一个 HTML 表单,它的操作应该通过 JavaScript 动态设置。我该怎么做?
这是我想要实现的目标:
<script type="text/javascript">
function get_action() { // Inside script tags
return form_action;
}
</script>
<form action=get_action()>
...
</form>
您不能在标准 HTML 属性中调用 JavaScript 函数,而不是onXXX
. 只需在窗口加载期间分配它。
<script type="text/javascript">
window.onload = function() {
document.myform.action = get_action();
}
function get_action() {
return form_action;
}
</script>
<form name="myform">
...
</form>
您会看到我已经给出了表单 a name
,以便在document
.
或者,您也可以在submit
活动期间进行:
<script type="text/javascript">
function get_action(form) {
form.action = form_action;
}
</script>
<form onsubmit="get_action(this);">
...
</form>
纯 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 非常简单的解决方案:
$('#myFormId').attr('action', 'myNewActionTarget.html');
您的表格:
<form action=get_action() id="myFormId">
...
</form>
实际上,当我们想要这个时,我们想根据我们按下的提交按钮来改变动作。
在这里,您甚至不需要分配name
或分配id
给表单。只需使用被form
点击元素的属性:
<form action = "/default/page" >
<input type=submit onclick='this.form.action="/this/page";' value="Save">
<input type=submit onclick='this.form.action="/that/page";' value="Cancel">
</form>
document.forms[0].action="http://..."
...假设它是页面上的第一个表单。