关于input自动完成的新功能!

nb_user 2006-05-20 09:53:21
<body>
<form action="savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">
<script language = JScript>
dict = new Array();
dict.zg = "中国";
function login() {
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
</script>
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login()" value=""></form>

以上代码,我研究了挺长时间,由于本人能力有限实在研究不出来,请高手指教!
如果把第二行“<form action="addgq-savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">”拿掉的话,就能正确使用,但我不明白,为什么加上"<form action="addgq-savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">"之后就不能用了,请大家研究一下!在此感激不尽!在等急等!
...全文
553 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
问道老王 2006-05-28
  • 打赏
  • 举报
回复
中文转英文:<input type=text name="monkey" onkeyup="login(this)" value="">
英文转中文:<input type=text name="monkey" onkeyup="login(this)" value="">
问道老王 2006-05-25
  • 打赏
  • 举报
回复
复制我临近写的完整html代码,另为为html文件。
我这里是通过了以下测试的,如果不能实现,你按我给的提示自己修改好了。

首先输入 中国 文本变换为 ZG

然后输入 zg 文本变换为 中国
nb_user 2006-05-25
  • 打赏
  • 举报
回复
我刚试过了,也只能实现一个,不防你试一下,能不能根据我发的那两组改一下
如果直接修改function *()可以吗
nb_user 2006-05-25
  • 打赏
  • 举报
回复
我已经试过了
中文转英文:<input type=text name="monkey" onkeyup="login(this)" value="">
英文转中文:<input type=text name="monkey" onkeyup="login(e)" value="">

能不能使用两个“input”一个是中转英,一个是英转中,不要在同一个“input”内实现
问道老王 2006-05-24
  • 打赏
  • 举报
回复
刚开始以为Javascript不直接支持中文定义键,经测试(win2003 ie6)可以支持。
如果不支持,则可以转向Unicode转义支持X+Unicode索引定义一个汉字。
如:"中国"转义成x20013x22269 "虚数传播"转义成x34394x25968x20256x25773

这个问题应该是客户端javascript的问题,有些方面javascript实现方便些,如用vbscript则需使用Dictionary对象(参见http://msdn.microsoft.com/library/en-us/script56/html/b4a7ddb3-2474-49ef-8540-8d67a747c8db.asp)。

以下中英两组一一对应实现,具体内容参见代码注释:
-----------------------------------------------------------------------

<body>
<form action="savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">
<script language = "JavaScript">
var dictE2C = { ZG:"中国", CD:"成都", BJ:"北京", SH:"上海" }

/*****如果词典数据不是一一对应关系,如下手动设置词典数据*********/
//var dictC2E= { 中国:"ZG", 成都:"CD", 北京:"BJ", 上海:"SH" }

/**** 以下自动反转词典数据,键值反转 **********/
var dictC2E= new Object();
for (var key in dictE2C) { dictC2E[dictE2C[key]] = key; }

function login(e)
{
var key = e.value.toUpperCase();
// 全部为字母则查英汉、反之查汉英,最简单正则匹配
var dict = (/^[A-Z]+$/ig.test(key)) ? dictE2C : dictC2E;
if(dict[key]) { e.value = dict[key]; }
}
</script>
<ul>
<li>中国 <-> ZG
<li>成都 <-> CD
<li>北京 <-> BJ
<li>上海 <-> SH
</ul>
测试:<input type=text name="monkey" onkeyup="login(this)" value="">
</form>
</body>
nb_user 2006-05-24
  • 打赏
  • 举报
回复
我想创建多组:
一组是汉转英
一组是英转汉
第一组:
<script language = JScript>
dict = new Array();
dict.ZG = "中国";
dict.CD = "成都";
function login() {
with (document.forms["addgq"])
{
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
}
</script>
第二组:
<script language = JScript>
dict = new Array();
dict.中国 = "ZG";
dict.成都 = "CD";
function login() {
with (document.forms["addgq"])
{
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
}
</script>

nb_user 2006-05-24
  • 打赏
  • 举报
回复
是的,是多组名称
问道老王 2006-05-24
  • 打赏
  • 举报
回复
创建多组名称? 没有明白

你写伪代码吧表示下
nb_user 2006-05-23
  • 打赏
  • 举报
回复
sYwb(虚数传播网络 www.vByte.com):
你好,再次请教一下,问题如上:
<script language = JScript>
dict = new Array();
dict.ZG = "中国";
dict.CD = "成都";
function login() {
with (document.forms["addgq"])
{
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
}
</script>

创建多组名称应该怎么创建:如
第一组:
<script language = JScript>
dict = new Array();
dict.ZG = "中国";
dict.CD = "成都";
function login() {
with (document.forms["addgq"])
{
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
}
</script>
第二组:
<script language = JScript>
dict = new Array();
dict.中国 = "ZG";
dict.成都 = "CD";
function login() {
with (document.forms["addgq"])
{
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
}
</script>
这样做语法肯定不对。
nb_user 2006-05-22
  • 打赏
  • 举报
回复
果然是高手,这几天我一直在别的论坛发,都是没人回复,而且规矩又多,现在有贵坛的“sYwb”帮助,我心情好多了,谢谢你啊!也谢谢贵坛!祝大家玩得愉快!
coder1 2006-05-22
  • 打赏
  • 举报
回复
帮顶
问道老王 2006-05-22
  • 打赏
  • 举报
回复
修正为:
------------------------

<body>
<form action="savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">
<script language = JScript>
dict = new Array();
dict.ZG = "中国";
dict.CD = "成都";
function login() {
with (document.forms["addgq"])
{
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
}
</script>
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login()" value=""></form>


>> 错误:"xmname" 未定义
需指定从属对象:表单addgq
故指定前提 with (document.forms["addgq"]) {...} 正常

===================
精简规范代码为:
<body>
<form action="savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">
<script language = JavaScript>
var dict = { ZG:"中国", CD:"成都", BJ:"北京", SH:"上海" }
function login(e) {if(dict[e.value]) e.value = dict[e.value];}
</script>
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login(this)" value=""></form>

--------------------------------------------------------
1.使用Javascript而不是JScript
2.使用document.getElementById("名称")获取对象,而不是直接用“名称”。
3.你的词典是一个Object更合适,数组不能直接根据名称访问
4.如果可能,使用关键字this更方便

DHTML参考:http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

nb_user 2006-05-21
  • 打赏
  • 举报
回复
出现一样的错误,不知道这究竟是什么意思啊,如果把<form>取消掉就可以,如果加是<form...>就不行啊,请楼主指教,你测试过没有,我这边都测试过了,还是不行,能否加入本人的QQ:183185596 或把你的QQ号告诉我,谢谢!感激不尽!
nb_user 2006-05-21
  • 打赏
  • 举报
回复
<html>
<head>
<script language = JScript>
dict = new Array();
dict.zg = "中国";
function login() {
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
</script>
</head>
<body>
<form action="savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login()" value="">
</form>
</html>
nb_user 2006-05-21
  • 打赏
  • 举报
回复
<html>
<head>
<script language = JScript>
dict = new Array();
dict.zg = "中国";
function login() {
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
</script>
</head>
</html>
<body>
<form action="savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login()" value="">
</form>
提示:
行 :7
字符:1
错误:"xmname" 未定义
代码:0
mingxuan3000 2006-05-21
  • 打赏
  • 举报
回复
head里面
mingxuan3000 2006-05-21
  • 打赏
  • 举报
回复
<script language = JScript>
dict = new Array();
dict.zg = "中国";
function login() {
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
</script>
放到hend 里面,别放到 body 里面
nb_user 2006-05-21
  • 打赏
  • 举报
回复
非常感谢“mingxuan3000(铭轩)”的热情回答,但是错误,

<body>
<form>
<script language = JScript>
dict = new Array();
dict.zg = "中国";
function login() {
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
</script>
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login()" value=""></form>

我都试过了N遍,如果这样的话,就可以了:
<body>
<form>
<script language = JScript>
dict = new Array();
dict.zg = "中国";
function login() {
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
</script></form>--------------在这里结束"form",或者把form去掉也可以正常使用!
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login()" value="">
为什么跟form有这么大的关连啊。急盼回复!
mingxuan3000 2006-05-21
  • 打赏
  • 举报
回复
onsubmit="return FrmAddLink_onsubmit()"去掉
nb_user 2006-05-21
  • 打赏
  • 举报
回复
怎么没人回呢?
<body>
<form action="savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">
<script language = JScript>
dict = new Array();
dict.zg = "中国";
function login() {
if(dict[xmname.value])
monkey.value = dict[xmname.value];
}
</script>
<input type=text name="xmname" value="ZG">  <input type=text name="monkey" onkeyup="login()" value=""></form>

以上代码,我研究了挺长时间,由于本人能力有限实在研究不出来,请高手指教!
如果把第二行“<form action="addgq-savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">”拿掉的话,就能正确使用,但我不明白,为什么加上"<form action="addgq-savedata.ASP" method="POST" name="addgq" LANGUAGE="javascript" onsubmit="return FrmAddLink_onsubmit()">"之后就不能用了,请大家研究一下!在此感激不尽!

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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