在delault.aspx页中包含login.ascx和search.ascx两个用户控件,login.ascx用户控件中有两个TextBox,分别是TxtName、TxtPassWord,一个Buttont是ButLogin,search.ascx用户控件中也有一个TextBox和一个Buttont,分别是TxtProduct和ButSearch
想要的效果是在delault.aspx页面中,如果在TxtName或TxtPassWord上输入信息后,焦点就在ButLogin上,如果在TxtProduct输入信息后,焦点就在ButSearch上,该怎样写?这是第三次发帖,那位老兄帮忙解决,感激不尽,三个帖一起结。
http://community.csdn.net/Expert/topic/3987/3987075.xml?temp=3.902835E-02
http://community.csdn.net/Expert/topic/4006/4006204.xml?temp=.573208
想要的效果是在delault.aspx页面中,如果在TxtName或TxtPassWord上输入信息后,焦点就在ButLogin上,如果在TxtProduct输入信息后,焦点就在ButSearch上,该怎样写?这是第三次发帖,那位老兄帮忙解决,感激不尽,三个帖一起结。
http://community.csdn.net/Expert/topic/3987/3987075.xml?temp=3.902835E-02
http://community.csdn.net/Expert/topic/4006/4006204.xml?temp=.573208
解决方案 »
- winform向web传值并获得返回值
- 请问改动了CKFINDER的源文件后怎么重新生成DLL呢?
- 浏览器一片空白,查看html源码都完整
- 菜鸟关于ASP.NET 中 EVAL 的问题.
- 新人报到+提问~~~
- 求CreateUserWizard控件加验证码的代码
- 求助怎样禁止IE后退功能!~~~~~
- session的问题,急9
- 配置错误,应该怎么修改才能正确运行?
- 求MICROSOFT.VISUAL.STUDIO.NET.ENTERPRISE.ARCHITECT.EDITION-ISO--EN,英文版注册码!谢谢!!
- 求助!有关DataGrid选择列的问题
- 神啊,救救我吧!关于DropDownList控件SelectedItem的奇怪问题——俺是新手
这样试试看,在txtPassWord的onBlur事件中写
btnId是Button的ID
textBox1.Attributes .Add("onkeydown","if(event.keyCode==13) {document.all."+button1.ClientID+".focus();document.all."+button1.ClientID+".click();}");textBox1输入完回车后焦点 到button1上
<%@ Control Language="c#" EnableViewState="false" %>
<%@ Import Namespace="Bmhd.Components.Components" %>
<table cellSpacing="0" cellPadding="0" width="95%" border="0" height="22">
<tr>
<td align="right" valign="top" height="22"><asp:panel id="Panel1" runat="server" Visible="True" EnableViewState="False">用户名:
<Bmhd:SubmitTextBox id="TextBox_UserName" runat="server" Height="22px" Width="60px" SubmitControl="LinkButton_Login"></Bmhd:SubmitTextBox>密码:
<Bmhd:SubmitTextBox id="TextBox_Password" runat="server" Height="22px" Width="60px" TextMode="Password"
SubmitControl="LinkButton_Login"></Bmhd:SubmitTextBox>验证码:
<Bmhd:SubmitTextBox id="TextBox_ValidateNum" runat="server" Height="22px" Width="60px" SubmitControl="LinkButton_Login"></Bmhd:SubmitTextBox>
<asp:Image id="Image1" runat="server" Height="22px" ImageAlign="top"></asp:Image>
<asp:DropDownList id="DropDownList1" runat="server" Height="22px">
<asp:ListItem Value="0" Selected="True">不保存</asp:ListItem>
<asp:ListItem Value="7">一个星期</asp:ListItem>
<asp:ListItem Value="90">3个月</asp:ListItem>
<asp:ListItem Value="9999">永远保存</asp:ListItem>
</asp:DropDownList>
<asp:LinkButton id="LinkButton_Login" runat="server" ForeColor="Blue" CausesValidation="False">登陆</asp:LinkButton> <A
href="<%= Globals.GetSiteUrls().Register()%>">注册</A> <A
href="<%= Globals.GetSiteUrls().GetPass()%>">取回密码</A>
</asp:panel>
<asp:panel id="Panel2" runat="server" Visible="False" EnableViewState="False">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="left">八面互动娱乐欢迎您: <asp:Label id="Label_UserName" runat="server"></asp:Label></div></td>
<td><div align="right"><asp:LinkButton id="LinkButton_Signout" runat="server" ForeColor="Blue" CausesValidation="False">注销</asp:LinkButton></div></td>
</tr>
</table>
</asp:panel></td>
</tr>
</table>
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;namespace Bmhd.Controls.Utility
{
public class SubmitTextBox : TextBox
{
/// <summary>
/// 用来指定按回车时由哪个按钮来响应
/// </summary>
[TypeConverter(typeof(SubmitableControlConvertor)), DefaultValue(""),Category("Behavior")]
public string SubmitControl
{
get
{
object ret = this.ViewState["SubmitControl"];
if (ret != null)
{
return (string) ret;
}
return string.Empty;
}
set
{
this.ViewState["SubmitControl"] = value;
}
} protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
if(this.SubmitControl.Length > 0)
{
Control con = FindControl(SubmitControl);
if(con != null)
{
string script = "if(event.keyCode == 13){document.getElementById('" + con.ClientID + "').click();event.returnValue=false;}";
writer.AddAttribute("onkeydown",script);
}
}
}
}
}
<script language="javascript">
function document.onkeydown()
{
var e=event.srcElement;
if(event.keyCode==13)
{
document.getElementById("需要点击的那个按钮的id").click();
return false;
}
}
</script>
如果页面上有多行文本框,在多行文本框内回车仅仅想实现换行而不是提交表单这么修改
if(e!=document.getElementById("多行文本框的id")&&event.keyCode== 13)
<script>document.all("button3").focus();</script>
http://www.cnblogs.com/netufo/archive/2005/09/02/79841.html#228470
如果是在本页面中,脚本document.all["button1"]访问的就是button1按钮,
如果这个button1是在用户控件login.ascx里,那么它的clientid就是
控件的id加上“_”再加上按钮id,
例如控件的ID是login1,那么doucment.all["login1_button1"].focus();才是有效的;这其中的规律其实通过IE->查看-〉源文件就可以看到
但是我有的页面是直接调用login.ascx控件,有的页面不是直接调用login.ascx控件的,是这样调用的
If (IsNothing(MemberCookie)) Then
Dim UC As UserControl = CType(Page.LoadControl("login.ascx"), UserControl)
PlaceHolder1.Controls.Add(UC)
Else
Dim UC As UserControl = CType(Page.LoadControl("online.ascx"), UserControl)
PlaceHolder1.Controls.Add(UC)
End If
所以没办法知道login.ascx控件的ID的,象这样的情况又该怎么处理呢
var s=document.getElementById('<%=ImageButton1.UniqueID%>');
alert(s);注意一下。一般使用UniqueID就可以了。但有时情况会特殊。需要自己在JS代码中对ImageButton1.UniqueID生成的ID进行一简单处理
可以说具体怎样写JS代码吗,我对JS不太懂
Dim UC As UserControl = CType(Page.LoadControl("login.ascx"), UserControl)
这样UC.Something.ClientID就可以在任何地方取得。