document.form.action,表单分向提交,javascript提交表单
同一个表单可以根据用户的选择,提交给不同的后台处理程序。即,表单的分向提交。如,在编写论坛程序时,如果我们希望实现用户在发送贴子的时候,既发送提交功能又有预览功能时,就会遇到上述问题。即,当用户点击提交按钮时,我们希望表单提交给"提交"处理程序;而当用户点击预览按钮时,我们希望表单提交给"预览"处理程序。那么,如何实现上述功能呢?下面代码可以很好的解决这个问题。
<form name="form" method="post">
测试表单:<input name="test"><br>
<input type="button" value="提交" onClick=send()>
<input type="button" value="预览" onClick=preview()>
</form>
<script language=javascript>
function send()
{
document.form.action="send.asp"
document.form.submit()
}
function preview()
{
document.form.action="preview.asp"
document.form.submit()
}
</script>
关于上面实例的两点说明:
1、在整个表单中,不应有名字为action或submit的标签,否则将会产生"对象不支持此属性和方法"的错误。如代码 "<input type='xxxx' name='action' >"在表单中是不允许出现的;
2、在form标签中应该存在name属性。即,应该给表单取一个名字。语句document.form.action和document.form.submit中的"form"也就是表单的名字。
表单的分向提交不仅仅使用在论坛的程序中,它还可以运用在许多场合下。恰当的运用表单的分向提交功能可以大大的增强网站的人性化程度。
昨天,我调试程序就出现了这样的问题,就是出现了"对象不支持此属性和方法"的错误,一直无法定位出来,都快疯掉了,后来在发现一个button命名为submit了。
1.--------
<form name="formname" action="">
<input name="inputname">
<input type="submit" onclick="document.formname.action='a.asp'" value="button a">
<input type="submit" onclick="document.formname.action='b.asp'" value="button b">
<input type="submit" onclick="document.formname.action='c.asp'" value="button c">
</form>
2.----------
<input type=button name="a" value="a" onclick="this.form.action='a.asp';this.form.submit();">
<input type=button name="b" value="b" onclick="this.form.action='b.asp';this.form.submit();">
<input type=button name="c" value="c" onclick="this.form.action='c.asp';this.form.submit();">
<input type=button name="d" value="d" onclick="this.form.action='d.asp';this.form.submit();">