同一个表单用同一个按钮实现两次不同的提交.如何实现?
谢谢 问题点数:20、回复次数:16Top
1 楼baggio785(狗狗)回复于 2002-03-05 10:29:33 得分 0
你说得不太清楚,我想应该是有判断的吧!onclick函数在不同的情况下触发不同的事件就可以实现了!Top
2 楼karma(无为MS MVP)回复于 2002-03-05 10:36:08 得分 20
if I understand you correctly, try something like this
<form name="frm" method="post">
...
<input type="button" value="submit" onclick="doSubmit()">
</form>
<script language="javascript">
function doSubmit()
{
document.frm.action = "1.asp";
document.frm.target = "_blank";
document.frm.submit();
document.frm.action = "2.asp";
document.frm.target = "_blank";
document.frm.submit();
}
</script>Top
3 楼xiaoshi(累)回复于 2002-03-05 10:36:28 得分 0
没有判断
我想把这个表单提交到不同的页面,用同一个按钮怎么实现呢Top
4 楼xiaoshi(累)回复于 2002-03-05 10:39:13 得分 0
请教无为
为什么要target=_blank呢
Top
5 楼xiaoshi(累)回复于 2002-03-05 10:44:24 得分 0
<SCRIPT LANGUAGE="JavaScript">
<!--
function frmsubmit(){
if (document.firstform.submit.value!=''){
document.firstform.action="default2.asp";
document.firstform.target="_blank";
document.firstform.submit();//脚本错误,对象不支持此属性或方法
document.firstform.action="custom_save.asp";
document.firstform.target="_blank";
document.firstform.submit();
}
}
//-->
</SCRIPT>
Top
6 楼karma(无为MS MVP)回复于 2002-03-05 10:53:58 得分 0
you can set the target of the form to anything you like
are you sure "firstform" is the name for your form? post you complete form codeTop
7 楼wenbo_ying(应)回复于 2002-03-05 10:57:52 得分 0
为什么非要提交到两个asp
把两个asp合成一个不行吗?Top
8 楼qinli(qinli)回复于 2002-03-05 10:58:35 得分 0
加个判断语句,其实最好的办法是在该页和跳到不同的页面之间坐一个判断的asp文件,来接受该页的信息加以判断。Top
9 楼xiaoshi(累)回复于 2002-03-05 11:02:31 得分 0
如果作一个中间页面也可以
但是里面的隐藏的数据太多了
加起来有140个呢
所以转了的话我觉得比较麻烦
代码
<form name=firstform onsubmit="javascript:return checkinput();">
<INPUT TYPE="button" name='submit' value=" 下一步 " onclick='javascript:frmsubmit();'>
<INPUT TYPE="reset" value=' 取消 '>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkinput(){
if (document.firstform.orderid.value==''){
alert("您没有填写订单关键字!");
document.firstform.orderid.focus();
return false;
}
if (document.firstform.produce.value==''){
alert("您没有填写制作单号关键字!");
document.firstform.produce.focus();
return false;
}
if (document.firstform.num.value==''){
alert("您没有填写数量关键字!");
document.firstform.num.focus();
return false;
}
digist="0123456789."
priceinput=document.firstform.num.value
for (i=0;i<priceinput.length;i++){
char=priceinput.charAt(i);
if (digist.indexOf(char)<0){
alert("您输入的数量中包含非法字符!");
document.firstform.num.focus();
return false;
}
}
return true;
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
function frmsubmit(){
if (document.firstform.submit.value!=''){
document.firstform.action="default2.asp";
document.firstform.target="_blank";
document.firstform.submit();
document.firstform.action="custom_save.asp";
document.firstform.target="_blank";
document.firstform.submit();
}
}
//-->
</SCRIPT>
就这些
我觉得没有什么问题Top
10 楼karma(无为MS MVP)回复于 2002-03-05 11:10:28 得分 0
change the button name "submit" to something elseTop
11 楼xiaoshi(累)回复于 2002-03-05 11:24:32 得分 0
基本搞定
还有一点问题自己考虑考虑
回头给分Top
12 楼xiaoshi(累)回复于 2002-03-05 11:36:58 得分 0
如何在提交之后关闭第一个表单窗口呢
我用window.close();
会跳出窗口的Top
13 楼karma(无为MS MVP)回复于 2002-03-05 11:46:14 得分 0
the easiest way is
window.opener=null;
window.close();Top
14 楼duhengliang(亨亨)回复于 2002-03-05 11:55:40 得分 0
<a href="">测试</a>Top
15 楼xjd5555(新手,请不要见笑!)回复于 2002-03-05 13:33:07 得分 0
在很多情况下都需要防止相同的表单被多次提交,很多人的实现方法都比较复杂(代码数量超过几十行!!)下面提供一种只需使用几行代码的方法,轻松地实现了防止用户刷新多次提交表单和使用后退钮重复多次提交表单。
表单文件formtest.asp
< %Randomize '初始代随机数种子
num1=rnd() '产生随机数num1
num1=int(26*num1)+65 '修改num1的范围以使其是A-Z范围的Ascii码,以防表单名出错
session("antry")="test"&chr(num1) '产生随机字符串
% >
< form name="test" action="testact.asp" method="post" >
你的名字:< input type='text' name='' size=30 > '注意本行中使用了随机表单项名
< input type='submit' value='提交' >
< /form >
表单处理程序testact.asp
< %
teststr=request.form(session("antry"))
if teststr="" then
response.write "没有填写姓名或重复提交"
'由于用户没有填写名字,或表单被重复提交(标志为session("antry")为空)引起
else
response.write teststr
session("antry")="" '提交成功,清空session("antry"),以防重复提交!!
end if
% >
这个不知道有没有用/
但是,还是贴一下吧!
我比较同意 karma(无为) ( ) 的看法!Top
16 楼xiaoshi(累)回复于 2002-03-05 15:24:10 得分 0
谢谢各位Top




