Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 230
  • Last Modified:

Problem With A Simple Loop

Loops have always given me a problem...I have the following:

<input type="text" name="text2" value="First Name" readonly size="20" style="color: #FFFFFF; border: 1px solid #FFFFFF;border:1px solid #FFFFFF;background-color:#FFFFFF">

<script LANGUAGE="JavaScript">
function ResetDefaultBeneficiaryText() {
array1=new Array(3);
array1[0]="text2";
array1[1]="text3";
array1[2]="text4";
alert("array1 read");

alert("function started")

for (i=0;i<=3;i++) {
  alert("loop started");  
document.forms[0].array1[i].style.fontWeight='normal'
  alert("fontweight");
document.forms[0].array1[i].style.backgroundColor='white'
  alert("BGcolor");
document.forms[0].array1[i].style.color='gray'
  alert("color");
}
}
</SCRIPT>

the routine is triggered by a button...once I get to my first document.forms[0] line, the program stops (know this from the alert lines)...thoughts?

Thanks,
Ron
0
ronaldj
Asked:
ronaldj
1 Solution
 
Jaime OlivaresSoftware ArchitectCommented:
document.forms[0].array1[i].style.fontWeight='normal'

this line (beside the missing ';' ), I think won't work because 'array1' is not a member of document.forms[0]
0
 
ZylochCommented:
Hi ronaldj,

This is a bit confusing. What are you trying to do, and are you showing us the complete code?

Regards,
Zyloch
0
 
ColosseoCommented:
Hi

try changing all the lines that use

document.forms[0].array1[i].style.

to

document.getElementById(array1[i]).style.

You will also need to add an id="text2" as well as name="text2" to each object to ensure cross brower compatiability.

Plus your for loop will get to 3 and your array only goes to 2.

Instead of for (i=0;i<=3;i++)  try either for (i=0;i<3;i++)  or for (i=0;i<=2;i++)

HTH

Scott
0
 
ronaldjAuthor Commented:
Maybe this will clear things up a bit...
the following actual routine gets done what's needed for ClientType 1...

<script LANGUAGE="JavaScript"><!--
function RDBT() {
document.forms[0].text1.style.fontWeight='normal'
document.forms[0].text1.style.backgroundColor='white'
document.forms[0].text1.style.color='gray'
document.forms[0].text2.style.fontWeight='normal'
document.forms[0].text2.style.backgroundColor='white'
document.forms[0].text2.style.color='gray'
document.forms[0].text3.style.fontWeight='normal'
document.forms[0].text3.style.backgroundColor='white'
document.forms[0].text3.style.color='gray'
document.forms[0].text4.style.fontWeight='normal'
document.forms[0].text4.style.backgroundColor='white'
document.forms[0].text4.style.color='gray'
document.forms[0].text5.style.fontWeight='normal'
document.forms[0].text5.style.backgroundColor='white'
document.forms[0].text5.style.color='gray'
document.forms[0].text6.style.fontWeight='normal'
document.forms[0].text6.style.backgroundColor='white'
document.forms[0].text6.style.color='gray'
}
//--></SCRIPT>

however, there are also ClientTypes 2...8
thought a loop would ease the burden of Copy/Edit/Paste and be more efficient.

Ron
0
 
ZylochCommented:
Ah I see. You mean like this:

document.forms[0].elements[array1[i]].style.fontWeight='normal'
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now