请教各位大哥如何控制表单提交?拜谢,很急

wifi2018 2003-12-18 01:56:40
各位大哥,最近老板突发奇想,要我在邮件登陆界面加一个菜单控制,
原来的邮件控制还很简单,就是一个用户文本框和一个密码框。点击提交按钮后交给后台表单处理程序判断控制 <form name=logon method="post" action="http://mail.meetsoho.com:8383/alogin.asp"><INPUT name=page
type=hidden value=login>

大家可以看http://218.2.115.83/soho/index.asp 中的Maillogin界面。
现在老板让我加一个菜蛋选项,有两个选则,如果是A就交给alogin.asp处理,如果是B就交给Blogin.asp处理。实现通往不同邮箱的目的。为简单起见,我把后台名字改成alogin,asp,blogin.asp.

其实这个问题可以扩展一下,我的意思是一个表单form可以把控制权action交给两个不同后台处理吗?谢谢你们。
解决我另外给分。
...全文
252 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
wifi2018 2003-12-22
  • 打赏
  • 举报
回复
谢谢你,圣诞元旦快乐!
nchen123 2003-12-19
  • 打赏
  • 举报
回复
你不是两个后台程序接受的用户, 文本框名字不一样么, 这样:

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Chen Rong">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function go()
{
var url = "";
with (document.form1)
{
if (radio1.value==1)
{
url = "a.asp?uid=" + username.value + "&pwd=" + password.value;
}
else
{
url = "b.asp?username=" + username.value + "&password=" + password.value;
}
}
location.href = url;
}
//-->
</SCRIPT>
</HEAD>

<BODY>

<form name="form1" method="post">
用户名:<input name="username">
<br>
密码:<input type="password" name="password">
<br><br>
<input type="radiobox" name="radio1" value="1">提交到后台1
<br>
<input type="radiobox" name="radio1" value="2">提交到后台2
<br><br>
<input type="button" value="提交" onclick="go()">
</form>

</BODY>
</HTML>
wifi2018 2003-12-19
  • 打赏
  • 举报
回复
【阿克蒙德】) 大哥,您能说具体点吗?是不是我还要加一个用户名文本框,让两个后台处理程序各取所需?
qunluo 2003-12-19
  • 打赏
  • 举报
回复
gz
nchen123 2003-12-19
  • 打赏
  • 举报
回复
其他 a.asp, b.asp 不需要改变
nchen123 2003-12-19
  • 打赏
  • 举报
回复
改用 post 方式的程序修改如下, 调试已通过:

test.asp
-----------------------------

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Chen Rong">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function go()
{
var url = "";
with (document.form1)
{
if (radio1[0].checked)
{
uid.value = username.value;
pwd.value = password.value;
action = "a.asp";
}
form1.submit();
}
}

//-->
</SCRIPT>
</HEAD>

<BODY>

<form name="form1" method="post" action="b.asp">
用户名:<input name="username">
<br>
密码:<input type="password" name="password">
<br><br>
<input type="radio" name="radio1" checked>提交到后台1
<br>
<input type="radio" name="radio1">提交到后台2
<br><br>
<input type="button" value="提交" onclick="go()">

<input type="hidden" name="uid">
<input type="hidden" name="pwd">
</form>

</BODY>
</HTML>
nchen123 2003-12-19
  • 打赏
  • 举报
回复
你要用 post 方法也是完全可以的。

原先的用户名, 密码输入框 不动(假设叫做 username, password)

另外在表单中放两个隐藏域, 用第二个表单的接受参数名称来命名。
比如叫做 uid, pwd, 那么这两个标签就是:
<input type="hidden" name="uid">
<input type="hidden" name="pwd">

在提交事件中,选择了第二个表单的那个分支,执行如下语句:

form1.uid.value = form1.username.value;
form1.pwd.value = form1.pwd.value;
form1.target = 第二个表单的url;
form1.submit();
wifi2018 2003-12-19
  • 打赏
  • 举报
回复
非常感谢inelm(Archimond 【阿克蒙德】) 大哥的热情帮助,但问题依旧。我就改成http://218.2.115.83/soho/index.asp 中的Maillogin界面。还不知道能否成功,可能您没有理解我的意思我并没有那两个邮箱的处理程序,所以很麻烦的,不过我下周一是一定要把分全给你的。
你可以看看http://meetsoho.com.cn/extend/gb/
还有一个是http://mail.meetsoho.com:8383,的界面,可能就明白我的难处了。谢谢你
nchen123 2003-12-19
  • 打赏
  • 举报
回复
很不好意思, 老糊涂了, 下面代码调试通过:

test.asp
---------------------

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Chen Rong">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function go()
{
var url = "";
with (document.form1)
{
if (radio1[0].checked)
{
url = "a.asp?uid=" + username.value + "&pwd=" + password.value;
}
else if (radio1[1].checked)
{
url = "b.asp?username=" + username.value + "&password=" + password.value;
}
}
location.href = url;
}
//-->
</SCRIPT>
</HEAD>

<BODY>

<form name="form1" method="post">
用户名:<input name="username">
<br>
密码:<input type="password" name="password">
<br><br>
<input type="radio" name="radio1" checked>提交到后台1
<br>
<input type="radio" name="radio1">提交到后台2
<br><br>
<input type="button" value="提交" onclick="go()">
</form>

</BODY>
</HTML>


a.asp
------------------
<%
u = request("uid")
p = request("pwd")

response.write u
response.write "<br>" & p
%>


b.asp
--------------------
<%
u = request("username")
p = request("password")

response.write u
response.write "<br>" & p
%>

wifi2018 2003-12-19
  • 打赏
  • 举报
回复
代码如下:<SCRIPT LANGUAGE="JavaScript">
<!--
function go()
{
var username;

if (window.logon.radio1.value==1)
{alert(" select your EmailBox account first,please!");
url = "http://mail.meetsoho.com:8383/login.cgi?userid=" + username + "&passwd=" + password;
}
else
{
url = "bttp://meetsoho.com.cn/extend/gb/NULL/NULL/NULL/SignIn.gen?LoginName=" + username + "&passwd=" + password;
}

location.href = url;
}
//-->
</SCRIPT>
wifi2018 2003-12-19
  • 打赏
  • 举报
回复
也请各位帮我改一下,谢谢。
我JS不是太懂。浏览器老报value 不是对象,username未定义等等,急晕了
wifi2018 2003-12-19
  • 打赏
  • 举报
回复
【阿克蒙德】) 大哥,我照您的方法改了,可是问题是我按了提交按纽没有触发上面的函数,是不是你写漏了?if (radio1.value==1)我改成if (window.logon.radio1.value==1)还不行!
再次感谢您
nchen123 2003-12-18
  • 打赏
  • 举报
回复
你在提交的事件里面, 把表单元素的值用 get 方法发出去吧。
wifi2018 2003-12-18
  • 打赏
  • 举报
回复
由于我的疏忽,浪费了你们的时间,我忘了说后台处理程序不在我这。
一个是http://meetsoho.com.cn/extend/gb/
还有一个是http://mail.meetsoho.com:8383,我所做的是统一登陆界面,
让这两个登陆界面都不出现

但表单名字都不一样,name=login和name=logon 用户名文本框名字也不一样,LoginName和userid,只有密码文本框名字一样。这可如何是好?????
色老虫 2003-12-18
  • 打赏
  • 举报
回复
天那,这样
if (form1.sell.value=""){

alert("请选择邮箱");
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
或者
if (document.form1.sell.value=""){//document如果出错可以去掉

alert("请选择邮箱");
-----------------------------------------------------

try it-------------------------------------------

nchen123 2003-12-18
  • 打赏
  • 举报
回复
document.all.sel1.value
wifi2018 2003-12-18
  • 打赏
  • 举报
回复
script>
function submitit()
{
if (window.sel1.selectedIndex==0)
{
alert("请先选择邮箱");
return false;
}
else
{
if (window.sel1.value==1)
{
window.form1.action="... .asp";

window.form1.submit();
}
if(window.sel1.value==2)
{
window.form1.action="... .asp";

window.form1.submit();

}
}


}
</script>
<form name="form1">
<select name="sel1">
<option value="">请选择</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="button" onclick="Javascript:submitit()">
</form>
语法有错误吗?我都不敢用图片了
浏览器说window.sel1.selectedIndex==0不是对象,改成window.sel1.value==0也不行
zorou_fatal 2003-12-18
  • 打赏
  • 举报
回复
<script>
function submitit()
{
if (window.form1.sel1.selectedIndex==0)
{
alert("请先选择邮箱");
return false;
}
else
{
if (window.form1.sel1.value==1)
{
window.form1.action="... .asp";

window.form1.submit();
}
if(window.form1.sel1.value==2)
{
window.form1.action="... .asp";

window.form1.submit();

}
}


}
</script>
改成这样
wifi2018 2003-12-18
  • 打赏
  • 举报
回复
改成function submitit()
{
alert("请先选择邮箱");
if (window.sell.value==0)
{
alert("请先选择邮箱");
return false;
}
else
{
alert("请先选择邮箱");
if (window.sell.value==1)
{
window.logon.action="........";

window.logon.submit();
}
if(window.sell.value==2)
{
window.logon.action="........";

window.logon.submit();

}
}


}
</script>也没用!!!
wifi2018 2003-12-18
  • 打赏
  • 举报
回复
浏览器说if (window.sel1.selectedIndex==0)不是对象。
加载更多回复(6)

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧