有一目标网站a.jsp接受username和password这两个post变量。我的页面上有两个文本框:
<asp:TextBox ID="username" runat="server" ></asp:TextBox>
<asp:TextBox ID="password" runat="server" ></asp:TextBox>
那我想提交到a.jsp,那时不是在asp:button设PostBackUrl就可以了?问题来了,这个aspx我是放在masterpage下的,出来的代码变成
<input name="ctl00$ContentPlaceHolder1$txbUserName" type="text" id="ctl00_ContentPlaceHolder1_txbUserName"/>a.jsp现在接收到的是ctl00$ContentPlaceHolder1$username,而不是原来的username,a.jsp我没有权利去修改,该如何解决这个提交问题?
<asp:TextBox ID="username" runat="server" ></asp:TextBox>
<asp:TextBox ID="password" runat="server" ></asp:TextBox>
那我想提交到a.jsp,那时不是在asp:button设PostBackUrl就可以了?问题来了,这个aspx我是放在masterpage下的,出来的代码变成
<input name="ctl00$ContentPlaceHolder1$txbUserName" type="text" id="ctl00_ContentPlaceHolder1_txbUserName"/>a.jsp现在接收到的是ctl00$ContentPlaceHolder1$username,而不是原来的username,a.jsp我没有权利去修改,该如何解决这个提交问题?
<form action="a.jsp" method="post">
<input type="text" id="username">
<input type="password" id="password">
<button type="submit" value="提交">
</form>
function Post(str)
{var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
var xmldoc = new ActiveXObject("Msxml.DOMDocument");
xmlhttp.Open("POST","PostSalesReport.aspx",false);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.Send(str);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
alert(xmlhttp.responseText)
}
}
if(xmlhttp.status!=200)
{
alert ('网络故障(xmlhttp.status='+xmlhttp.status+'),请稍后再试!');
return false;
}
var info = xmlhttp.responseText;
info=info.substr(0,(info.indexOf('<!')));
if(info.indexOf('成功')>0)
{
window.opener=null;window.returnValue =1;window.close()
}
alert(info);
}
PostSalesReport.aspx
if(!Page.IsPostBack)
{
if(Request.Form["PKID"]!=null)
{
cDsc.Application=Server.UrlDecode(Request.Form["Application"].ToString());
cDsc.End_Customer=Server.UrlDecode(Request.Form["End_Customer"].ToString());
cDsc.Expect_price=Request.Form["Expect_price"].ToString();
cDsc.PKID=int.Parse(Request.Form["PKID"].ToString());
//cDsc.Potential=Server.UrlDecode(Request.Form["Potential"].ToString());
cDsc.PP=Server.UrlDecode(Request.Form["PP"].ToString());
cDsc.Projcet=Server.UrlDecode(Request.Form["Project"].ToString());
cDsc.Region=Server.UrlDecode(Request.Form["Region"].ToString());
cDsc.Sales=Server.UrlDecode(Request.Form["Sales"].ToString());
cDsc.Status=Server.UrlDecode(Request.Form["Status"].ToString());
cDsc.Type=Server.UrlDecode(Request.Form["Type"].ToString());
string err=Bss.Update(cDsc);
try
{
int i=int.Parse(err);
Response.Write ("保存成功!");
}
catch
{
Response.Write (err);
}
}
else
{
Response.Clear();
Response.End();
}
}
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。
<form name=form1 runat=server>
...
<form name=myform method=post action=a.jsp>
<input type=text name=username>
<input type=password name=userpwd>
<input type=button onClick="myform.submit();">
</form>
</form>
<input type=text name=username>
<input type=password name=userpwd>
<input type=button onClick="myform.submit();">这些部分竟然属于form1的
<input type=text name=username>
<input type=password name=userpwd>
<input type=button onClick="myform.submit();">
</form>把这段放过去
<input type=text name=username>
<input type=password name=userpwd>
<input type=button onClick="myform.submit();">
</form>把这段放过去
<form1>是页面自带的,每个aspx有且仅有一个form runat=server
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function xx()
{
document.Form1.getElementById("myForm").submit();
}
</script>
</head>
<body>
<form id="Form1" name="form1" runat="server"><form name=myform method=post action=a.jsp>
<input type=text name=username>
<input type=password name=userpwd>
<input type=button onClick="myform.submit();">
</form></form></body>
</html>这是我的代码,提示脚本错误的
function xx()
{
document.Form1.getElementById("myForm").submit();
}
</script>
你上面加这段代码干嘛?对了<input type=button value="提交" onClick="myform.submit();">
忘了加value了,页面显示出来没东西的,就一点点点这个按钮,就实现跨页post了呀,action里是你要传到页面的完整地址,比如http://www.sina.com.cn/a.jsp,否则是相对路径
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="Form1" name="form1" runat="server">
<form name=myform method=post action=a.jsp>
<input type=text name=username>
<input type=password name=userpwd>
<input type=button value="xxx" onClick="myform.submit();">
</form></form></body>
</html>
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="Form1" name="form1" runat="server">
<input type=text name=username>
<input type=password name=userpwd>
<input type=button value="xxx" onClick="Form1.action='a.jsp';Form1.submit();">
</form></body>
</html>
谢谢mrluoluo,我们都想得太复杂了,其实改form的提交路径就可以了