3

我正在尝试编写一个具有多个文本框和 1 个按钮的程序。当用户单击按钮时,文本框的值变为how are you

我不确定如何引用 i表达式的值document.getElementById('text'+i).value= 'how are you'

 <input name="text1" type="text" id="text1" value="textbox 1"                 
 onFocus="this.style.background ='yellow'" onBlur="this.style.background='white'">
 <input name="text2" type="text" id="text2" value="textbox 2"                             
 onFocus="this.style.background = 'yellow'" onBlur="this.style.background='white'">
function popup() {
    for( int i; i <2, i++) {      
      document.getElementById('text'+i).value= 'how are you'      
    }
}  
<input type="button" value="Click Me!" onclick="popup()"><br />

我已经更改了 for 循环部分,但它仍然无法正常工作:

function popup() {
    for( var i = 1, i <= 2, i++) {
      document.getElementById('text'+i).value= 'how are you'
    }
}

该程序是否可以像 C++ 那样使用 foreach 循环?首先它将计算您拥有的文本框的数量,然后创建一个从 1 到文本框总数的列表,然后编写一个 for 循环来计算文本框。

4

4 回答 4

4
for(var i = 1; i <=2; i++) {
    document.getElementById('text'+i).value= 'how are you'      
}

说明:

  • i你需要初始化1
  • 您需要将中断条件更改为i<=2

JavaScript是动态类型语言,因此变量声明中没有类型。

@esailija 遇到的错误:

  • i未初始化为数字。
  • ,代替;
  • int i代替var i
  • 因一个错误而关闭。
于 2012-05-01T22:22:28.207 回答
1

在 JS 中使用这个词var来声明变量。不要忘记你的分号。

function popup() 
{  
  for(var i=1; i <= 2; i++) {     
    document.getElementById('text'+i).value = 'how are you';        
  }  
} 
于 2012-05-01T22:22:34.650 回答
1

为简单起见,我将指出for只有两次迭代和循环内一行代码的循环有点浪费打字。你也可以这样做:

var str = 'how are you';
document.getElementById('text1').value = str;   
document.getElementById('text2').value = str;   
于 2012-05-01T22:41:42.987 回答
0
  • var用于在javascript中声明变量
  • 变量应该在for循环中初始化
  • for-loop 条件应该是正确的,以确保它循环正确的次数。< 2会让它停在1。

据我了解,您希望 i 变量也显示在您的文本中。只需+ i在字符串末尾添加即可。否则,只需删除该部分。

这将循环通过“text1”和“text2”

for( var i=1; i <= 2; i++) {
  document.getElementById('text'+i).value = 'how are you' + i;
}
于 2012-05-01T22:22:35.607 回答