一个棘手的问题,顶着有分!

jerrywh 2005-09-20 09:31:42
在文本框中输入到最大位数(maxlength)就将光标自动移到下一个输入框。如:
<html>
<body>
<table>
<tr>
<td>ID:</td><td><input type="text" name="id" size="6" maxlength="4"></td>
<td>FirstName:</td><td><input type="text" name="firstname" size="10" maxlength="6"></td>
<td>LastName:</td><td><input type="text" name="lastname" size="10" maxlength="8"></td>
<td><input type="button" name="ok" value="ok"></td>
</table>
</body>
</html>
比如:在ID框中输入了4位后就光标自动移到FirstName框。
请附上完整的程序。
...全文
191 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiqunet 2005-10-09
  • 打赏
  • 举报
回复


习惯不了的

就是看不惯这种人,以为普天之下就它一个程序员似的

况且,程序员又是东西,说好听一点叫做IT精英,若说白了就叫奴隶,奴隶是什么东西?连狗都不如。
若是狗,主人家还懂得亲它抱它爱护它,却有几个程序员受到主人家的如此待遇?

程序员<=狗

一点点小程序都不懂得编,来这里求人还大言不惭,摆POSS款,好像别人都是它的奴隶,必须给它干活似的。

人家干得不完美时,居然还像条疯狗似的骂你,如果还有点人性,别人给你一点建议或提示,只要不是错的也应该给别人分一点分。

连缩进都没有的程序居然给它加上“工工整整”这样的形容词,岂不可笑?(当然,这可能是CSDN的错)


程序编得有点乱了就不是程序员了吗,我说你是坐井观天。

我见过一个函数,函数里面居然包含了13层的各种小功能的子函数,分别放在不同的包含文件中,函数指针跳来跳去的,大括号和缩进也乱七八糟的没点规律,变量的名称让你捉摸不定,更别提注释了,这样的程序让你看几下就头晕,我花了九牛二虎之力才把它读懂(不是吹牛,我这个人研究起问题来很投入的,是种打破沙锅问到底的人)。难道编这个程序的人就不是程序员了?它的那个函数却是不少自认为是“程序员”的人所无法编得出来的呢。

工工整整的程序有工工整整的意义,乱七八糟的程序也有乱七八糟的意义,各人的习惯和目的不同,根本就不足以评论。

软件工程上的确是教我们编得工工整整,但书本是书本,我们是我们。

我没有必要因为书本说太阳是圆的,我就非认为它是圆的不可。
太阳到底是方是圆,根本就与我无关,我想那些蠢才“程序员”是永远领悟不到这种境界的。



习惯不了的

因为,本人打算不再玩CSDN了,也因此才便于言无忌惮
已经两颗星了,再玩下去也不过两颗星(别人都是几十万分以上的,我哪里赶得上?),况且浪费时间,只有付出,却无所收益,有时费了九牛二虎之力给别人解答还会招来一些混蛋楼主的莫明其妙的指责,又何必呢

知道我的信誉分为什么只有93吗?就是忍不住骂了几个象楼主那样的混蛋而给“妹子”扣掉的。

知道“妹子”的信誉分为什么高达“704”吗?不知道,我也不知道!
当初“江某民”在位时,声誉也不错的,只是中国官僚日益腐败,贫富日益悬殊也是那时候的癌症。

哈哈,有时信口雌黄真有点痛快~!#·~!·





qiqunet 2005-10-08
  • 打赏
  • 举报
回复

原来楼主说话,也好似放屁一样,真有点臭

说什么顶着有分,我顶了3贴,竟然一分半分也不给,我好可怜啊!

唉,一个容易受骗的男人

jerrywh 2005-10-08
  • 打赏
  • 举报
回复
to dizhirihuo(抵制日货) :
代码写的不错,工工整整。这才像一个专业程序员写的。
cds27 2005-10-08
  • 打赏
  • 举报
回复
哈哈,楼上的兄弟,习惯就好了啦
qiqunet 2005-09-30
  • 打赏
  • 举报
回复


还好,还好,“顶着有分”,我回复了两贴,应该可以分得2分吧?



qiqunet 2005-09-30
  • 打赏
  • 举报
回复
回复人: cds27(冰封) ( ) 信誉:100 2005-09-28 09:14:00 得分: 0

这和测试什么关系,你的要求太多了。既然你是程序员,有些地方自己改一下就行了,有必要别人帮你写到周全吗?
话说的是没错,测试是应该的,可是你是我们的客户吗?不然凭什么搞得像BOSS一样指手画脚?
搞清楚状况,你是程序员,你遇到问题来这求救。
我们给的程序可能不完全符合你的要求,但是一些简单的地方自己改改就好了,这是基本的常识啊!

//////////////////////////////////////////////////////

我本来想回复的了,但一看三楼的回复,我就打了退堂鼓。

那么多的要求,只给50分,还什么“顶着有分”呢,

并且对回复贴提那么苛刻的要求,好象他那50分是50 K RMB似的

罢了,罢了,我还是回复20分的问题划得来 : )


dizhirihuo 2005-09-30
  • 打赏
  • 举报
回复
我来写一个
<html>
<script language="javascript">
// 光标移动的KEYCODE
var G_KEYCODE = new Array('32','48','49','50','51','52','53','54','55',
'56','57','65','66','67','68','69','70','71',
'72','73','74','75','76','77','78','79','80',
'81','82','83','84','85','86','87','88','89','90',
'96','97','98','99','100','101','102','103','104',
'105','106','107','109','110','111',
'186','187','188','189','190','191','192',
'219','220','221','222','226');

/******************************************************************************
* 光标自动移动(下一个TEXTFIeld)
* @param  无
* @return 无
*****************************************************************************/
function jsAutoMoveText() {

var pThis = window.event.srcElement;
var pActionKey = true;
//KEYCODE存在得场合pActionKey为false
for (var i = 0; i < G_KEYCODE.length; i++) {
if (window.event.keyCode == G_KEYCODE[i]) {
pActionKey = false;
break;
}
}

if (pThis.maxLength == pThis.value.length && pActionKey == false) {
var pObjCnt = document.all.tags("input").length;
var pNextObj = 0;
for (var i = 0; i < pObjCnt; i++) {
pObj = document.all.tags("input")[i];
if (pObj.name == pThis.name) {
break;
}
}
for (var j = 1; j <= pObjCnt; j++){
pNextObj = i + j;
if (document.all.tags("input")[pNextObj].className.substr(document.all.tags("input")[pNextObj].className.length - 2, 2) != "-C"
&& document.all.tags("input")[pNextObj].type == "text"
&& document.all.tags("input")[pNextObj].tabIndex >= 0
&& !document.all.tags("input")[pNextObj].readOnly
&& !document.all.tags("input")[pNextObj].disabled) {
break;
}
}
document.all.tags("input")[pNextObj].focus();
document.all.tags("input")[pNextObj].select();
window.event.cancelBubble = true;
}
}

</script>

<body onload="init();">

<table>
<tr>
<td>ID:</td><td><input type="text" name="id" onkeydown="jsAutoMoveText();" size="6" maxlength="4"></td>
<td>FirstName:</td><td><input type="text" name="firstname" onkeydown="jsAutoMoveText();" size="10" maxlength="6"></td>
<td>LastName:</td><td><input type="text" name="lastname" onkeydown="jsAutoMoveText();" size="10" maxlength="8"></td>
<td><input type="button" name="ok" value="ok"></td>
</table>
</body>
</html>
fantiny 2005-09-30
  • 打赏
  • 举报
回复
我也来赚2分
cds27 2005-09-28
  • 打赏
  • 举报
回复
这和测试什么关系,你的要求太多了。既然你是程序员,有些地方自己改一下就行了,有必要别人帮你写到周全吗?
话说的是没错,测试是应该的,可是你是我们的客户吗?不然凭什么搞得像BOSS一样指手画脚?
搞清楚状况,你是程序员,你遇到问题来这求救。
我们给的程序可能不完全符合你的要求,但是一些简单的地方自己改改就好了,这是基本的常识啊!
jerrywh 2005-09-28
  • 打赏
  • 举报
回复
这种简单的测试对程序员来说是基本的常识啊!
难道你们都写完了代码不用测试吗?
真是太羡慕你们了!真的。
我们一般写代码和测试是1比3!!
如果写代码要一个月,那么单元测试就要一个月,之后是结合测试一个月,最后是系统测试一个月。
jerrywh 2005-09-28
  • 打赏
  • 举报
回复
不好意思。我不是搞测试的。我只不过随便测了一下而已。。。。。
ybfqlyq 2005-09-28
  • 打赏
  • 举报
回复
幫頂。。。。
jhkmnm_123 2005-09-28
  • 打赏
  • 举报
回复
GX198302 2005-09-23
  • 打赏
  • 举报
回复
... ... ... ... .
没有语言了, 如此的"程序员"
jerrywh 2005-09-23
  • 打赏
  • 举报
回复
不好意思这几天太忙了。没上来。100分就100分。
但是:
1.如果第二个输入框是满的话,你将光标移到第一个输入框输满后光标就在第二个输入框上了,这时你在按功能键或上下左右键它就跳到第三个输入框上了!“这样对吗?”
2.如果你将光标移到输满了的输入框中你在按功能键它就会跳到下一个输入框中。“这样对吗?”
没有对功能键进行判断。

cds27 2005-09-23
  • 打赏
  • 举报
回复
咱觉得像俺BOSS呢?
这分太难挣了,罢了罢了
friendlyFour 2005-09-23
  • 打赏
  • 举报
回复
没有语言了, 如此的"程序员"
jerrywh() ( ) 你是搞测试的吧。
cds27 2005-09-21
  • 打赏
  • 举报
回复
我认为这题值100分,你愿意的话就再加个50分吧。

html不变,JS的部分如下:

<script language="javascript">
function init() {
allTextInput=new Array();
allInput=document.getElementsByTagName("INPUT");
for(i=0;i<allInput.length;i++) {
if(allInput[i].type=="text") {
allTextInput[allTextInput.length]=allInput[i];
allInput[i].onkeyup=nextInput;
allInput[i].onfocus=onFocus;
}
}
}
function nextInput() {
if(event.keyCode>=37 && event.keyCode<=40) return;
oElem=event.srcElement;
if(oElem.value.length>=oElem.maxLength) {
for(i=0;i<allTextInput.length;i++) {
if(allTextInput[i]==oElem) {
if(i+1<allTextInput.length) {
allTextInput[i+1].focus();
}
else {
document.all.ok.focus();
}
break;
}
}
}
}

function onFocus() {
oElem=event.srcElement;
oElem.select();
}
</script>
jerrywh 2005-09-20
  • 打赏
  • 举报
回复
你这代码无效!!!
1.我需要的是对全部的输入框都能有此功能,而你这只对ID输入框有效!
2.要做成function!
3.你这里面对方向键都不能用了(上下左右)!
4.你一次性输入>=4个中文字就更本没用!
请测侧试!!!!
vivianfdlpw 2005-09-20
  • 打赏
  • 举报
回复
<html>
<body>
<table>
<tr>
<td>ID:</td><td><input type="text" name="id" size="6" maxlength="4"></td>
<td>FirstName:</td><td><input type="text" name="firstname" size="10" maxlength="6"></td>
<td>LastName:</td><td><input type="text" name="lastname" size="10" maxlength="8"></td>
<td><input type="button" name="ok" value="ok"></td>
</table>
</body>
<script>
document.getElementsByName('id')[0].onkeyup=function()
{
if(event.srcElement.value.length==parseInt(event.srcElement.maxLength))
{
document.getElementsByName('firstname')[0].focus();
}
}
</script>
</html>
加载更多回复(6)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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