求一个js脚本:让进入页面光标停留在一个自定义控件中某个textbox中,且...

Mybeautiful 2004-05-03 09:21:59
情景:页面default.aspx内包括一个自定义空间Uc1,uc1中有个textbox1
要求:
1.希望进入default.aspx时,光标强制停留textbox1中。
2.向textbox1输入一些字符后,按回车或试图把光标移走时,验证textbox1中的内容(加入强制为"test"),如果不合法(不等于test),光标一直留在textbox1中,直到合法为止。
3.如果我输入的值要到数据库中验证,又如何做?

附:总的说来,一句话:必须textbox1中内容合法,光标(或是焦点)方能出现在别的控件上;否则页面不响应任何其他事件!(不限js,只要能实现功能就可)。

先行谢过!
...全文
622 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mybeautiful 2004-05-08
  • 打赏
  • 举报
回复
自己up一下
AndyZhang123 2004-05-06
  • 打赏
  • 举报
回复
up
Mybeautiful 2004-05-06
  • 打赏
  • 举报
回复
Ucl不可变动,只能在default.aspx中写。因为Uc为公用控件,不可为我一个人改动
SeptPigs 2004-05-06
  • 打赏
  • 举报
回复
用.net验证控件吧。页面初始化时先得到你要比对的值“test”,这个验证不需要发送到服务器端,不符合条件你不让他走就完了,封装在Ucl中,就不怕找不到textbox了。
Mybeautiful 2004-05-06
  • 打赏
  • 举报
回复
第一条已经做到。 "1.希望进入default.aspx时,光标强制停留textbox1中。"

关键是第二条不知如何解决! ".向textbox1输入一些字符后,按回车或试图把光标移走时,验证textbox1中的内容(加入强制为"test"),如果不合法(不等于test),光标一直留在textbox1中,直到合法为止。"

to: FlyInBlueSky(明日天涯)."textbox1的客户端验证事件:onchange="return 函数()",函数中进行判断,如果判断不通过的话,仍然让Textbox获取焦点就是了"
是不可行的,因为textbox1封装在自定义控件Uc1中。default.aspx的html中见到的只是uc1而已!
FlyInBlueSky 2004-05-05
  • 打赏
  • 举报
回复
2如果用.net的验证控件的话,验证实在提交到服务端的时候才起作用的,不是在text失去焦点的时候参生作用
nameldw 2004-05-05
  • 打赏
  • 举报
回复
1.<body onload="Form1.texbox.focus()">
2.可以用.net验证控件
3.用存储过程会好一点,具体你自己再想想吧~~~
Mybeautiful 2004-05-05
  • 打赏
  • 举报
回复
谢谢两位大哥, 但仍不知具体方法。
up一下先
cuike519 2004-05-03
  • 打赏
  • 举报
回复
1、首先你要确定你是用的是用户控件还是自定义控件,从你的控件的名字上可以看出应该是一个用户控件,有关如何设置焦点你可以给你大页面添加如下脚本:
<script language="javascript">
function setfocus(ctl) {
//alert('1');
if(document.forms[0][ctl] != null)
document.forms[0][ctl].focus(); }
</script>
至于用户控件在页面里面最终被解释成什么名字你可以在生成页面以后“查看源代码”。
2、离开焦点就判断是否满足某个条件你可以使用服务器端的正则表达式验证控件(控件的使用请参考MSDN相关介绍)。
3、数据库验证你可以写在存储过程里面验证数据,然后给用户返回状态码(自定义的),然后你在程序里可以通过状态码判断是否成功的执行了存储过程。还有就是在程序里使用正则表达式原理和js的一样。其他的验证你可以通过执行SQL语句以后是否抛出异常和异常的详细内容来判断!
FlyInBlueSky 2004-05-03
  • 打赏
  • 举报
回复
你的要求就是通过Javascript进行的处理操作,其实难度不是很大的
1.作页面的客户端window_onload事件:具体的语句好像是 textbox1.setfocus()吧,不记得了
2.作textbox1的客户端验证事件:onchange="return 函数()",函数中进行判断,如果判断不通过的话,仍然让Textbox获取焦点就是了
3.就不是可以直接在客户端可以处理了。你要在进行页面提交的时候把数据与数据库进行比较了!比较通过之后一种处理,不通过另外的处理方法!

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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