2012-05-01 2 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 /> 

Я изменил цикл часть, но его до сих пор не совсем работающих:

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

Будет ли программа работать с циклом foreach, как на C++? Сначала он подсчитает количество текстовых полей, которые у вас есть, а затем создайте список, который идет от 1 к общему количеству текстового поля, затем напишите цикл for для подсчета текстовых полей.

ответ

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
  • отключения одной ошибки.
1

Используйте слово var, чтобы объявить переменные в JS. И не забудьте свои полуколоны.

function popup() 
{ 
    for(var i=1; i <= 2; i++) {  
    document.getElementById('text'+i).value = 'how are you';   
    } 
} 
0
  • переменные используются для объявления переменных в JavaScript
  • переменные должны быть инициализированы в для цикла
  • для цикла условие должно быть правильным, чтобы гарантировать ее петлями правильного количества раз. < 2 остановит его на 1.

Как я понимаю, вы хотите, чтобы переменная i отображалась в вашем тексте. Просто добавьте + i в конец строки. В противном случае просто удалите эту часть.

Это будет цикл через «text1» и «text2»

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

спасибо за все внушения, ребята, я уже сделал изменения, но программа все еще есть некоторые ошибки – user1296160

+0

@ user1296160 вы должны принять один из ответов на этот вопрос в любом случае, потому что, по крайней мере мы помогли вам с некоторыми ошибками. –

1

Просто для простоты, я укажу, что for цикл, который имеет только две итерации и одну строку кода внутри петли вид пустой трассировки. Вы можете просто сделать это:

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

Да, это правда..И забыл упомянуть, что он должен работать для нескольких текстовых полей .. так что если у вас есть 5 или 6 из них – user1296160

+0

+1, за предложение! – gdoron

Смежные вопросы