2012-05-01 33 views
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循环的一部分,但它仍然不是很working:

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

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

回答

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

澄清:

  • 您需要初始化i1
  • 您需要更改断开的条件i<=2

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

您@esailija有错误:

  • i未初始化数。
  • ,代替;
  • int i代替var i
  • 差一错误。
1

使用单词var来声明JS中的变量。别忘了你的分号。

function popup() 
{ 
    for(var i=1; i <= 2; i++) {  
    document.getElementById('text'+i).value = 'how are you';   
    } 
} 
0
  • VAR用于声明在JavaScript
  • 变量应为环
  • 初始化在for循环条件应该是正确的,以确保它循环的时间正确的 量变量。 < 2将使它停在1.

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

通过“text1”中,而“text2”这将循环

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

谢谢,我已经做出了改变,但程序还是有一些bug – user1296160

+0

@ user1296160你应该在这个问题接受一个答案反正因为至少我们帮助您解决了一些问题。 –

1

只是为了简单起见,我会指出,一个for循环,只有两个迭代和一行代码里面的循环是一种浪费打字。你也可以只做到这一点:所有的建议家伙

var str = 'how are you'; 
document.getElementById('text1').value = str; 
document.getElementById('text2').value = str; 
+1

是的,这是真的..我忘了提及,它应该适用于severall文本框..所以,如果你有5或6 – user1296160

+0

+1,对于建议! – gdoron