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: 876
  • Last Modified:

setting a property that has only a getter

I get the subject error message in FireFox error console.

I believe line 46 is either
ename = document.st.elements[i].name;
or
f2 = ename.substr(0,2);

What does this mean? I don't see a problem.


le = document.st.elements.length;	
			someok = false;
			for (i = 0; i < le; i++) {
				if (document.st.elements[i].type = "hidden") {
					ename = document.st.elements[i].name;
					f2 = ename.substr(0,2);
					if (f2 == "lu") {
						if (document.st.elements[i].value != "None") {
							luval = parseInt(document.st.elements[i].value);
							unitval = parseInt(document.st.selall.value);
							if (luval >= unitval) {
								someok = true;
								break;
							}
						}
					}
				}
			}

Open in new window

0
Richard Korts
Asked:
Richard Korts
  • 3
  • 2
1 Solution
 
hieloCommented:
make sure your form tag has name="st" AND also make sure every input element has a name defined. If one of your fields does not have a name, this:
ename = document.st.elements[i].name;

will set ename to undefined and cause problems.
0
 
Richard KortsAuthor Commented:
To hielo:

I gave names to all the elements, including the submit buttons. They were the only ones with no name.

It does the same thing.

Entire html file is attached (note the html is generated from php).
htmlsource.txt
0
 
hieloCommented:
>>if (document.st.elements[i].type = "hidden")
you nee TWO equal signs:
if (document.st.elements[i].type == "hidden")
0
 
Richard KortsAuthor Commented:
That one gets me EVERY time, in both php & JavaScript. For some reason, I can NEVER see those. So obvious, but so illusive.
0
 
hieloCommented:
>>That one gets me EVERY time
Then it's your responsibility to learn from your mistakes. If you always get something like this wrong:
if( x = 3 )

you will NEVER get it wrong if you invert them:
if( 3 = x )

a number and a string are "constants". You cannot assign something to a constant, so the compiler/interpreter will throw a runtime error if you omit that second = sign. At that point its obvious.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

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