473,327 Members | 1,997 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,327 software developers and data experts.

what's wrong with this line?

Hi

I used this for loop in my code, but I keep getting a syntax error on this
line:

for(var i=0;i<tr;i++){
Here's the rest of the function:

function checkForm(oForm){
var totalRecords = document.getElementById("cbsTotal");
variation = eval('oForm.' + 'variation' + 0 + '.value');
changeNumber = eval('oForm.' + 'changeNumber' + 0 + '.value');
changeDescription = eval('oForm.' + 'changeDescription' + 0 + '.value');
tr = totalRecords.value;
for(var i=0;i<tr;i++){
alert(variation);
if(variation <> 0){
if(changeNumber = ""){
if(changeDescription = ""){
alert("You have not entered a change number for variation" + i);
return false;
}
}
}

}
Jul 20 '05 #1
8 1435
Marco Alting wrote:
Hi

I used this for loop in my code, but I keep getting a syntax error on this
line:

for(var i=0;i<tr;i++){
Here's the rest of the function:

function checkForm(oForm){
var totalRecords = document.getElementById("cbsTotal");
variation = eval('oForm.' + 'variation' + 0 + '.value');
changeNumber = eval('oForm.' + 'changeNumber' + 0 + '.value');
changeDescription = eval('oForm.' + 'changeDescription' + 0 + '.value');
tr = totalRecords.value;
add this line:

alert ("tr="+tr+" and variation ="+variation+" and
changeNumber="+changeNumber+" and changeDescription="+changeDescription);

Do you get what you expected?
for(var i=0;i<tr;i++){
alert(variation);
if(variation <> 0){
if(changeNumber = ""){
if(changeDescription = ""){
alert("You have not entered a change number for variation" + i);
return false;
}
}
}

}


Jul 20 '05 #2

"Marco Alting" <ma***@alting-multimedia.nl> schreef in bericht
news:rf*********************@amsnews03.chello.com. ..
Hi

I used this for loop in my code, but I keep getting a syntax error on this
line:

for(var i=0;i<tr;i++){
Here's the rest of the function:

function checkForm(oForm){
var totalRecords = document.getElementById("cbsTotal");


That's probably because the 'cbsTotal' object doesn't have a value property,
so tr remains undefined.

BTW, don't use eval when you don't need to.

You can replace the lines:
variation = eval('oForm.' + 'variation' + 0 + '.value');
changeNumber = eval('oForm.' + 'changeNumber' + 0 + '.value');
changeDescription = eval('oForm.' + 'changeDescription' + 0 + '.value');

With:
variation = oForm.elements['variation0'].value;
changeNumber = oForm.elements['changeNumber0'].value;
changeDescription = oForm.elements['changeDescription0'].value;
JW

Jul 20 '05 #3
"Marco Alting" <ma***@alting-multimedia.nl> writes:
I used this for loop in my code, but I keep getting a syntax error on this
line:

for(var i=0;i<tr;i++){
The error is probably not on that line, but in that statement.
It is in the contents of the for statment:
if(variation <> 0){
In Javascript, the not-equal operator is "!=", not "<>" (as in BASICs).
This is a syntax error.
if(changeNumber = ""){
Also, the comparison operator is "==", not "=". This is an assignment,
which changes "changeNumber" to the empty string. The value of an
assignment is the value that is assigned, in this case the empty string.
In an if condition, it is automatically converted to a boolean, and
the empty string converts to false.
if(changeDescription = ""){


ditto.

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 20 '05 #4
"Janwillem Borleffs" <jw*@jwbfoto.demon.nl> writes:

You can replace the lines: [using eval] With:
variation = oForm.elements['variation0'].value;
changeNumber = oForm.elements['changeNumber0'].value;
changeDescription = oForm.elements['changeDescription0'].value;


A very good advise. I would even change "oFrom" to
"document.forms['oForm']". That should work in all browser, current
and future (if they implement the W3C DOM).

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 20 '05 #5
Thanks for all the advises, I think the error was in the if statements.
Here's the working code:

function checkForm(oForm){
var totalRecords = document.getElementById("cbsTotal");
tr = totalRecords.value;
for(var i=0;i<tr;i++){
alert(eval('oForm.' + 'variation' + i + '.value'));
if(eval('oForm.' + 'variation' + i + '.value') != '0'){
if(eval('oForm.' + 'changeNumber' + i + '.value') == '0'){
if(eval('oForm.' + 'changeDescription' + 0 + '.value') == '0'){
alert("You have not entered a change number for variation" + i);
return false;
}
}
}
}
}
"Janwillem Borleffs" <jw*@jwbfoto.demon.nl> schreef in bericht
news:3f***********************@news.euronet.nl...

"Marco Alting" <ma***@alting-multimedia.nl> schreef in bericht
news:rf*********************@amsnews03.chello.com. ..
Hi

I used this for loop in my code, but I keep getting a syntax error on this line:

for(var i=0;i<tr;i++){
Here's the rest of the function:

function checkForm(oForm){
var totalRecords = document.getElementById("cbsTotal");
That's probably because the 'cbsTotal' object doesn't have a value

property, so tr remains undefined.

BTW, don't use eval when you don't need to.

You can replace the lines:
variation = eval('oForm.' + 'variation' + 0 + '.value');
changeNumber = eval('oForm.' + 'changeNumber' + 0 + '.value');
changeDescription = eval('oForm.' + 'changeDescription' + 0 + '.value');
With:
variation = oForm.elements['variation0'].value;
changeNumber = oForm.elements['changeNumber0'].value;
changeDescription = oForm.elements['changeDescription0'].value;
JW

Jul 20 '05 #6
When I comment out the for loop and add the alert, I get what I
expected, but the for loop still gives an error

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 20 '05 #7

"Marco Alting" <ma***@alting-multimedia.nl> skrev i melding
news:rf*********************@amsnews03.chello.com. ..
Hi

I used this for loop in my code, but I keep getting a syntax error on this
line:

for(var i=0;i<tr;i++){
What's "tr". Has it a valid number?
Here's the rest of the function:

function checkForm(oForm){
var totalRecords = document.getElementById("cbsTotal");
variation = eval('oForm.' + 'variation' + 0 + '.value');
changeNumber = eval('oForm.' + 'changeNumber' + 0 + '.value');
changeDescription = eval('oForm.' + 'changeDescription' + 0 + '.value');
tr = totalRecords.value;
for(var i=0;i<tr;i++){
alert(variation);
if(variation <> 0){
if(changeNumber = ""){
if(changeDescription = ""){
alert("You have not entered a change number for variation" + i);
return false;
}
}
}

}

Jul 20 '05 #8
> function checkForm(oForm){
var totalRecords = document.getElementById("cbsTotal");
variation = eval('oForm.' + 'variation' + 0 + '.value');
changeNumber = eval('oForm.' + 'changeNumber' + 0 + '.value');
changeDescription = eval('oForm.' + 'changeDescription' + 0 + '.value');
tr = totalRecords.value;
for(var i=0;i<tr;i++){
alert(variation);
if(variation <> 0){
if(changeNumber = ""){
if(changeDescription = ""){
alert("You have not entered a change number for variation" + i);
return false;
}
}
}
}


I ran it through jslint and found these problems:

'<>' should be '!=='. This isn't Visual Basic.

When making an equality comparison, use '===', not '='

Also, you are making extremely bad use of the eval function. Never is eval. The
expression

eval('oForm.' + 'variation' + 0 + '.value')

probably wants to be

oForm['variation' + 0].value

If there is a chance that totalRecords is not an object, then wrap the for in
an if :

if (totalRecords) {
for(var i=0; i < tr; i++) {

http://www.crockford.com/javascript/lint.html
Jul 20 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Simom Thorpe | last post by:
Hi, I'm trying to insert a line into a MS access DB using ASP on IIS 5. This is the line: con.execute "INSERT INTO newProds(title,desc,catcode) VALUES ('Champagne Muff Scarf','','AC304B')"...
47
by: Neal | last post by:
Patrick Griffiths weighs in on the CSS vs table layout debate in his blog entry "Tables my ass" - http://www.htmldog.com/ptg/archives/000049.php . A quite good article.
72
by: E. Robert Tisdale | last post by:
What makes a good C/C++ programmer? Would you be surprised if I told you that it has almost nothing to do with your knowledge of C or C++? There isn't much difference in productivity, for...
51
by: WindAndWaves | last post by:
Can anyone tell me what is wrong with the goto command. I noticed it is one of those NEVER USE. I can understand that it may lead to confusing code, but I often use it like this: is this...
22
by: noridotjabi | last post by:
Okay. I'm quite embarased to be asking this but I cannot seem to get files to work. I don't know what the problem is. Is there something wrong with this: (file related) #include <stdio.h>...
2
by: Phil | last post by:
Problem code: using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Diagnostics; namespace Streams { class Program {
2
by: Rod | last post by:
I've been struggling with this thing for 2 days, and after searching the 'net for help, I cannot find what is wrong. We're using Crystal Reports XI Release 2, with Visual Studio .NET 2003 in...
10
by: Enkidu | last post by:
Beginner question, sorry! I am using indexers to access an array of StringBuilders in an instance of a class: Getting: value = board1; Setting: board1 = value1 ;
6
by: Kid Programmer | last post by:
Hello guys. I have a question. What's wrong with my compiler. In a simple number averaging program in a GUI window have way into the project I compile the program and I get the following errors: ...
4
by: hirsh.dan | last post by:
i have a functions that writes information to a file. inside that function i have a line in which i call another function. if this line is executed, nothing is written to the file, but if i remark...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.