我先贴出我的部分代码吧 <script language="javascript" type="text/javascript">
function change();{
var pass=document.getElementById("pass").value;
var name=document.getElementById("name").value;
document.getElementByName("name").value=name;
----但是这地方的pass需要进行MD5加密后将值给到名为pass的hidden控件!
最后将form2 post
document.forms["form2"].submit;
}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="请输入姓名:"></asp:Label>
<asp:TextBox ID="name" runat="server"></asp:TextBox>
<asp:Label ID="lblPass" runat="server" Text="请输入密码:"></asp:Label>
<asp:TextBox ID="pass" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="change();" Text="Button" />
</div>
</form>
<form id="form2" method="post" action="">
<input type="hidden" "name="name" value="<% =name%>" />
<input type="hidden" name="pass" value="<% =pass1%>" />
</form>
</body><script type="text/C#">public string md5(string str,int code)
{
if(code==16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;
}
else//32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}
}
</script>首先我想通过我的Button1 触发OnClientClick事件 调用JS中的change()方法 具体的大家可以看我的代码中解释 请问可以实现吗?
function change();{
var pass=document.getElementById("pass").value;
var name=document.getElementById("name").value;
document.getElementByName("name").value=name;
----但是这地方的pass需要进行MD5加密后将值给到名为pass的hidden控件!
最后将form2 post
document.forms["form2"].submit;
}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="请输入姓名:"></asp:Label>
<asp:TextBox ID="name" runat="server"></asp:TextBox>
<asp:Label ID="lblPass" runat="server" Text="请输入密码:"></asp:Label>
<asp:TextBox ID="pass" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="change();" Text="Button" />
</div>
</form>
<form id="form2" method="post" action="">
<input type="hidden" "name="name" value="<% =name%>" />
<input type="hidden" name="pass" value="<% =pass1%>" />
</form>
</body><script type="text/C#">public string md5(string str,int code)
{
if(code==16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;
}
else//32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}
}
</script>首先我想通过我的Button1 触发OnClientClick事件 调用JS中的change()方法 具体的大家可以看我的代码中解释 请问可以实现吗?
charge中有submit,OnClick也会回传,没试过会不会有问题.
你放置一个服务端的HiddenField
在Button1的事件OnClick="Button1_Click"中设置HiddenField 的值部就可以了吗
asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
在后台pageload里
加上
Button1.Attributes.Add("onClick", "change()")
function change();{
var pass=document.getElementById("<%=pass.ClientID%>").innerHTML;
var name=document.getElementById("<%=name.ClientID%>").innerHTML;
document.getElementByName("<%=name.ClientID%>").innerHTML=name;
这里可以用Ajax调用后台的加密方法再把值给pass
服务器控件不能直接用document.getElementByID("pass")
要用得到客户端形式来的到:document.getElementById("<%=pass.ClientID%>").innerHTML=加密后的poss;
----但是这地方的pass需要进行MD5加密后将值给到名为pass的hidden控件!
最后将form2 post
document.forms["form2"].submit;
}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="请输入姓名:"></asp:Label>
<asp:TextBox ID="name" runat="server"></asp:TextBox>
<asp:Label ID="lblPass" runat="server" Text="请输入密码:"></asp:Label>
<asp:TextBox ID="pass" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="change();" Text="Button" />
</div>
</form>
<form id="form2" method="post" action="">
<input type="hidden" "name="name" value="<% =name%>" />
<input type="hidden" name="pass" value="<% =pass1%>" />
</form>
</body><script type="text/C#">public string md5(string str,int code)
{
if(code==16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;
}
else//32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}
}
</script>
就直接掉了
不需要用ajax了
http://www.cnblogs.com/backuper/archive/2009/01/05/1368950.html
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="请输入姓名:"></asp:Label>
<asp:TextBox ID="name" runat="server"></asp:TextBox>
<asp:Label ID="lblPass" runat="server" Text="请输入密码:"></asp:Label>
<asp:TextBox ID="pass" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="javascript:document.getElementById(sub).click" Text="Button" />
</div>
</form>
<form id="form2" method="post" action="">
<input type="hidden" "name="name" value="<% =name%>" />
<input type="hidden" name="pass" value="<% =pass1%>" />
<input type=button id=sub onclick=change()display=none/>
</form>
</body>
change()返回true就执行Button1_Click,否则终止执行
Javascript调用类中的方法
在Javascript中调用aspx.cs中的方法,但是如果方法写在一个单独的类库中好像就不行了function gg(){ var b=document.getElementById("<%=TextBox4.ClientID %>").value; var a='<%=GetName("'+b+'") %>';//OK //var a="<%=GetName('"+b+"') %>";//Error
alert(a);}但是不知道怎么回事,上面注释的那句话就报错呢?没有看出什么问题来,如果谁知道给我解释一下啊,谢谢啦方法: protected string GetName(string s) { return "Welcome,"+s;}注意:限制符必须是public或者protected
<script type="text/C#">
....
</script>
中的方法!! 其实就是这么简单
或者你做一个控件嵌入到网页里。