2010-05-26 3 views
0

У меня есть следующие основные функции:Хотя цикл в функции Javascript

<script type="text/javascript"> 
function Form_Data(theForm) 
{ 

var t=1; 
while (t<=5) { 

if (theForm.F[t]FirstName.value == "") 
    { 
    alert("Please enter Fighter 1's First Name."); 
    theForm.F[t]FirstName.focus(); 
    return (false); 
    } 
t++; 
} 

return (true); 
} 
</script> 

Скрипт (проверка JS) терпит неудачу, используя этот код. Если я удалю [t] и заменим число (1,2,3,4 и т. Д.), Проверка будет действовать в соответствующих полях. Что я делаю не так?

+1

Обратите внимание, что скобки в 'return' заявления не нужны :) – Matchu

+4

Что именно вы пытаетесь сделать? 'F [t] FirstName' выглядит как недопустимый синтаксис. – Matchu

+0

F [t] .FirstName? –

ответ

3

Вы не можете использовать индекс как часть имени, вы должны поставить имя вместе в виде строки и использовать в качестве индекса:

theForm['F' + t + 'FirstName'] 
+1

Вам не нужны как точки, так и скобки. –

+0

@ Guffa - спасибо, но это не работает – JM4

+0

@ JM4 - Я удалил синтаксическую ошибку. Глядя на комментарии, это * * решение вашей проблемы :) Скобки представляют собой доступ к свойству, а не интерполирование в имя свойства. – Matchu

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