有时候我们会遇到这样的问题,即多个页面要接收同一个表单的数据,那么怎么实现这一功能呢,本文将会阐述。
我们知道,一个表单可以很容易地递交到一个处理页面,只需要一个submit按钮即可,但有时候,我们要用不同的处理页面来接收表单的数据并加以处理。如果我们为不同的处理页面分别设计各自的表单的话,如果采集的数据都是一样的,在这种情况下既浪费页面篇幅同时在大数据量输入时非常浪费时间和精力。要解决这一问题我们只需要实现一个表单向多个页面递交数据这一功能即可。
那么怎么实现这一功能呢?下面提供三种方法:
方法一:使用多个button按钮,为每个按钮的onclick事件设计一个子过程,通过读取按钮的值来判断向谁提交数据,源代码如下:
<script language="javascript">
function tosubmit1()
{
document.submitform1.action="1.asp";
document.submitform1.submit();
}
function tosubmit2()
{
document.submitform1.action="2.asp";
document.submitform1.submit();
}
function tosubmit3()
{
document.submitform1.action="3.asp";
document.submitform1.submit();
}
</script>
</head>
<form name="submitform1" action="" method="post" target="_blank">
<input type="button" name="submit1" value="提交给1.asp" onclick="tosubmit1()">
<input type="button" name="submit2" value="提交给2.asp" onclick="tosubmit2()">
<input type="button" name="submit3" value="提交给3.asp" onclick="tosubmit3()">
</form>
方法二:使用多个button按钮,定义每个按钮的onclick事件的处理过程,不需要判断按钮的value值,而直接定义form表单的action值,代码比较简单,如下:
<form name="submitform2" action="" method="post" target="_blank">
<input name="submit1" value="提交给1.asp" type="button" onclick="submitform2.action=''1.asp'';submitform2.submit();">
<input name="submit2" value="提交给1.asp" type="button" onclick="submitform2.action=''2.asp'';submitform2.submit();">
<input name="submit3" value="提交给1.asp" type="button" onclick="submitform2.action=''3.asp'';submitform2.submit();">
</form>
方法三:同样使用多个button按钮,也同样为每个按钮设计一个onclick事件子过程,不同的是使用switch case语句来判断button按钮的value值,从而作相应的处理,代码如下:
<form name="submitform3" action="" method="post" target="_blank">
<input type="submit" name="submit1" value="提交给1.asp" onclick="dothis(this)">
<input type="submit" name="submit2" value="提交给2.asp" onclick="dothis(this)">
<input type="submit" name="submit3" value="提交给3.asp" onclick="dothis(this)">
</form>
<script language="javascript">
function dothis(obj)
{
switch(obj.value)
{
case "提交给1.asp":
document.submitform3.action="1.asp";
break;
case "提交给2.asp":
document.submitform3.action="2.asp";
break;
case "提交给3.asp":
document.submitform3.action="3.asp";
break;
}
}
</script>
其实本文所举的三个方法都是大同小异的,只不过在处理手段上略有不同,欢迎大家讨论。
|