var par = new Array(2);
par.push("Apple");
par.push("Orange");
var nar = new Array("2");
nar.push("red ");
nar.push("dark orange");
var ok = document.getElementById('one').value;
function abc() {
for (var i = 0; i < par.length; i++) {
if (par[i] == ok) {
break;
}
}
document.write(par[i] + " " + "color is " + " " + nar[i]);
}
&#13;
<!doctype html>
<html>
<head>
</head>
<body>
<label>Enter the name</label>
<input type="text" id="one">
<input type="submit" onclick="abc()" id="on">
</body>
</html>
&#13;
//在上面的代码片段中,我试图通过在数组中定义所需的细节来显示苹果和橙色的颜色,但在运行代码时,我得到输出为&#34;未定义的颜色未定义&#34;我无法弄清楚代码中的确切问题。
答案 0 :(得分:1)
在Ist语句中,您使用了var par = new Array(2);这意味着它创建了2个空插槽,然后创建了2个值,因此创建了长度为4的数组。在第二个你使用var par = new Array(“2”);表示ist值s字符串然后是2值,因此创建长度为3的数组。所以你得到错误的结果。使用新的Array()。也可以在abc函数中获取ok的值
var par =new Array();
par.push("Apple");
par.push("Orange");
var nar= new Array();
nar.push("red ");
nar.push("dark orange");
function abc(){
var ok= document.getElementById('one').value;
for (var i=0;i<par.length;i++){
if(par[i]==ok){
break;
}
}
document.write(par[i]+" "+"color is "+" "+nar[i]);
}
<!doctype html>
<html>
<head>
</head>
<body>
<label>Enter the name</label>
<input type="text" id="one">
<input type="submit" onclick="abc()" id="on">
</body>
</html>
答案 1 :(得分:0)
<html>
<head>
</head>
<body>
<label>Enter the name</label>
<input type="text" id="one">
<input type="submit" onclick="abc()" id="on">
<script>
var par =new Array("Apple","Orange");
var nar= new Array("red ","dark orange");
var ok= document.getElementById('one').value;
function abc(){
for (var i=0;i<par.length;i++){
if(par[i]==ok){
break;
}
document.write(par[i]+" "+"color is "+" "+nar[i]);
}
}
</script>
</body>
</html>
答案 2 :(得分:0)
i,j
将为2,bar[2]
或nar[2]
将是未定义的(访问不存在索引的数组元素)
您需要将write命令移动到循环
for (var i = 0; i < par.length; i++) {
if (par[i] == ok) {
break;
}
document.write(par[i] + " " + "color is " + " " + nar[i]);
}
答案 3 :(得分:0)
问题是您在ok
函数之外定义abc()
。在您定义它时(当页面加载时),输入为空。
当您单击提交按钮时,ok
仍然是加载时输入的值。
以下应该有效:
function abc(){
for (var i=0;i<par.length;i++){
var ok= document.getElementById('one').value;
if(par[i]==ok){
break;
}
}
document.write(par[i]+" "+"color is "+" "+nar[i]);
}