脚本显示未定义
Script says Undefined
我有这个脚本,它可以让用户输入一个文本,然后它会被翻译成其他东西。只有当单词只有一个字母时才有效。
脚本如下:
function copyit(theField) {
var tempval = eval("document." + theField)
tempval.focus()
tempval.select()
therange = tempval.createTextRange()
therange.execCommand("Copy")
}
function results() {
var behavior = "form";
var text = document.csrAlpha.csrresult2.value;
var ff22 = text.toLowerCase();
var Words = new Array;
Words["b"] = "Dadada";
Words["bob"] = "Robert";
Words["flower"] = "Banana";
Words["brad"] = "Chair";
var trans = "";
var regExp = /['!@#$%^&*(),=";:'/]/;
var stringCheck = regExp.exec(ff22);
if (!stringCheck) {
if (ff22.length > 0) {
for (var i = 0; i < ff22.length; i++) {
var thisChar = ff22.charAt(i);
trans += Words[thisChar] + " ";
}
} else {
trans += "Please write something.";
}
} else {
trans += "You entered invalid characters. Remove them and try again.";
}
document.csrAlpha.csrresult.value = trans;
}
和HTML:
<table>
<tr>
<td align="center" class="cleanuphtml-1">
<form name="csrAlpha">
Please insert your text below:<br />
<input type="text" class="tb3" name="csrresult2" size="70" maxlength="120" autocomplete="off" onkeydown="results()" onkeyup="results()" onkeypress="return handleEnter(this, event);" />
<input type="reset" value="Reset" onclick="csrAlpha.csrresult2.focus();" />
<p>
<textarea name="csrresult" class="tb7" cols="71" rows="10" value=""></textarea>
</p>
</form>
</td>
</tr>
</table>
如果这个单词不在你的数组中,那么你将得到undefined。如果你输入"Bo",那么你将得到undefined,因为"Bo"不在你的数组中。
您正在使用KeyPress事件调用脚本。如果用户试图输入Bob,则会发生以下情况:
b——b在数组中,没有问题
我不知道你是从哪里抄来的,也不知道你为什么要这样做。
下面是一个更好的实现。不过,下次在依赖别人之前,请先做些调查。
HTML部分
<table>
<tr>
<td align="center" class="cleanuphtml-1">
<form name="csrAlpha">
Please insert your text below:<br />
<input type="text" class="tb3" name="csrresult2" id="csrresult2" size="70" maxlength="120" autocomplete="off" onkeyup="translate()" />
<input type="reset" value="Reset" onclick="csrAlpha.csrresult2.focus();" />
<p>
<textarea name="csrresult" id="csrresult" class="tb7" cols="71" rows="10" value=""></textarea>
</p>
</form>
</td>
</tr>
</table>
和JS部分:
<script>
var Words = {
"b" : "Dadada",
"bob" : "Robert",
"flower" : "Banana",
"brad" : "Chair"
}
function translate(){
text = document.getElementById("csrresult2").value.toLowerCase();
if(typeof Words[text] != "undefined")
document.getElementById("csrresult").value=Words[text];
else
document.getElementById("csrresult").value="Text not found!";
}
</script>
相关文章:
- 敲除jsobservable显示未定义的值
- 得到"未定义不是函数“;使用显示原型图案时出错
- Highcharts工具提示不显示corrosconding文本值,而是显示'未定义'
- 使用eval()定义变量显示未定义的错误
- Meteor js-控制台显示'未定义'即使返回结果
- wysihtml5命令显示为未定义
- Json显示来自网站的数据显示仅未定义
- 为什么“;未定义的“;以棱角分明的js显示
- 打字稿显示不能设置未定义的属性,如何解决
- 对象的属性显示为未定义
- JS方法显示了未定义的简单示例
- 当使用多个false时,Select2显示未定义
- AngularJS ng repeat显示原型函数未定义
- 函数在控制台中显示“未定义”
- HTML 对象在使用 ContentPlaceHolder 时在 Javascript 中显示为未定义
- 当我编写脚本时,它显示引用错误:未定义宽度
- 对象属性在控制台.log中显示为未定义
- 当我编写脚本时,它显示类型错误:menuLi[i] 未定义
- 未定义显示在选项中
- 引用错误:未定义显示