【发布时间】:2011-08-04 04:44:39
【问题描述】:
如何在单击提交按钮后立即更改表单的操作属性?
【问题讨论】:
如何在单击提交按钮后立即更改表单的操作属性?
【问题讨论】:
<input type='submit' value='Submit' onclick='this.form.action="somethingelse";' />
或者您可以从表单外部修改它,使用 javascript 正常方式:
document.getElementById('form_id').action = 'somethingelse';
【讨论】:
如果您只需要支持现代浏览器,有一个简单的方法可以做到这一点:在您的提交按钮上,添加一个 formaction="/alternate/submit/url" 属性,如下所示:
<form>
[fields]
<input type="submit" value="Submit to a" formaction="/submit/a">
<input type="submit" value="submit to b" formaction="/submit/b">
</form>
它也适用于<button> 标签。
问题是旧版本的 IE (
更多信息:http://www.wufoo.com/html5/attributes/13-formaction.html
【讨论】:
您还可以在表单标签中设置onSubmit 属性的值。您可以使用 Javascript 设置其值。
类似这样的:
<form id="whatever" name="whatever" onSubmit="return xyz();">
Here is your entire form
<input type="submit">
</form>;
<script type=text/javascript>
function xyz() {
document.getElementById('whatever').action = 'whatever you want'
}
</script>
请记住onSubmit 的优先级高于操作属性。因此,每当您指定 onSubmit 值时,将首先执行该操作,然后表单将执行操作。
【讨论】:
<enter> 提交表单,而不是点击任何地方。
onSubmit="return xyz();"。我们不能只有onSubmit="xyz()" 吗?
附加到提交按钮click 事件并更改事件处理程序中的action 属性。
【讨论】:
action 属性设置为所需的值?
你可以在 javascript 端做到这一点。
<input type="submit" value="Send It!" onClick="return ActionDeterminator();">
单击时,JavaScript 函数 ActionDeterminator() 确定备用操作 URL。示例代码。
function ActionDeterminator() {
if(document.myform.reason[0].checked == true) {
document.myform.action = 'http://google.com';
}
if(document.myform.reason[1].checked == true) {
document.myform.action = 'http://microsoft.com';
document.myform.method = 'get';
}
if(document.myform.reason[2].checked == true) {
document.myform.action = 'http://yahoo.com';
}
return true;
}
【讨论】:
HTML5 的 formaction 不适用于旧的 IE 浏览器。根据上面的一些回复,一个简单的解决方法是:
<button onclick="this.form.action='/PropertiesList';"
Account Details </button>
【讨论】:
你可以试试这个:
<form action="/home">
<input type="submit" value="cancel">
<input type="submit" value="login" formaction="/login">
<input type="submit" value="signup" formaction="/signup">
</form>
【讨论】: