Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Question on For Loops Using ID Number

Reply
Thread Tools

Question on For Loops Using ID Number

 
 
Rick
Guest
Posts: n/a
 
      10-24-2005
Hello,

I posted a question regarding data validation earlier and it worked
great! I have a new question. Is there anyway to cut through all the
if statements and just have a for loop that uses the id numbers
associated with each input. Here's the code I have so far:

<html>
<head>
<script type="text/javascript">

function main(form)
{
if (form.description.value =='')
{
alert("you have not entered in a description");
return false;
}
if (form.awarddate.value =='')
{
alert("you have not entered in an award date2");
return false;
}
if(form.awarddate2.value =='')
{
alert("you have not entered in an award date2");
return false;

return true;
}

</script>
</head>
<body>
<form action="submit.html" method="post" name="input" onsubmit="return
main(this)">
<table>
<tr>
<th>Rick's Test Page<br><br></th>
</tr>
<tr>
<td>Description:<td><input type=text name="description" id=1>
</tr><tr>
<td>Award Date:<td><input type=text name="awarddate" id=2>
</tr><tr>
<td>Award Date 2:<td><input type=text name="awarddate2" id=3>
</tr>
</table>
<input type="submit" value="Submit" class="FormText">
</form>
</body>
</html>

So In this case I'd want to make a for loop that loops from id=1 to
id=3. Is there anyway to do that? Thanks for the help!

Rick

 
Reply With Quote
 
 
 
 
McKirahan
Guest
Posts: n/a
 
      10-24-2005
"Rick" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.com...
> Hello,
>
> I posted a question regarding data validation earlier and it worked
> great! I have a new question. Is there anyway to cut through all the
> if statements and just have a for loop that uses the id numbers
> associated with each input. Here's the code I have so far:


[snip]

You're code is missing a "}" before "return true;".

You're missing closing </td> tags.

Don't use "main()" as it's a rserved word (per Evertjan).

Though you can use "document.getElementById()" it isn;t necessary.

The following loops through all form elements and checks all "text"
elements to see if they're blank.

Also, the fields name (name=" is displayed in the alert so it is suggested
that you assign a anme similar to the label they'll see on the page.

<html>
<head>
<script type="text/javascript">
function validate(form) {
var fail = "";
for (i=0; i<form.elements.length; i++) {
if (form.elements[i].type == "text") {
if (form.elements[i].value == "") {
fail += "\n\t" + form.elements[i].name + "";
}
}
}
if (fail != "") {
alert("The following fields are blank:\n" + fail);
return false;
}
return true;
}
</script>
</head>
<body>
<form action="submit.html" method="post"
name="input" onsubmit="return validate(this)">
<table>
<tr>
<th colspan="2">Rick's Test Page<br><br></th>
</tr>
<tr>
<td>Description:</td>
<td><input type=text name="Description" id=1></td>
</tr>
<tr>
<td>Award Date:</td>
<td><input type=text name="Award_Date" id=2></td>
</tr>
<tr>
<td>Award Date 2:</td>
<td> <input type=text name="Award_Date_2" id=3></td>
</tr>
</table>
<input type="submit" value="Submit" class="FormText">
</form>
</body>
</html>


 
Reply With Quote
 
 
 
 
Rick
Guest
Posts: n/a
 
      10-24-2005
Amazing!

Thank you so much!

 
Reply With Quote
 
RobG
Guest
Posts: n/a
 
      10-24-2005
McKirahan wrote:
> "Rick" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed) ups.com...
>
>>Hello,
>>
>>I posted a question regarding data validation earlier and it worked
>>great! I have a new question. Is there anyway to cut through all the
>>if statements and just have a for loop that uses the id numbers
>>associated with each input. Here's the code I have so far:

>
>
> [snip]
>
> You're code is missing a "}" before "return true;".
>
> You're missing closing </td> tags.
>
> Don't use "main()" as it's a rserved word (per Evertjan).
>
> Though you can use "document.getElementById()" it isn;t necessary.
>
> The following loops through all form elements and checks all "text"
> elements to see if they're blank.
>
> Also, the fields name (name=" is displayed in the alert so it is suggested
> that you assign a anme similar to the label they'll see on the page.


[...]

> <td><input type=text name="Description" id=1></td>


And ID's can't start with a number, an id:

"must begin with a letter ([A-Za-z]) and may be followed by any number
of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons
(":"), and periods (".")."

<URL:http://www.w3.org/TR/html4/types.html#type-name>

[...]


--
Rob
 
Reply With Quote
 
McKirahan
Guest
Posts: n/a
 
      10-24-2005
"RobG" <(E-Mail Removed)> wrote in message
news:435d4e2a$0$8620$(E-Mail Removed)...

[snip]

> > <td><input type=text name="Description" id=1></td>

>
> And ID's can't start with a number, an id:
>
> "must begin with a letter ([A-Za-z]) and may be followed by any number
> of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons
> (":"), and periods (".")."
>
> <URL:http://www.w3.org/TR/html4/types.html#type-name>
>
> [...]
>


Also, "id=" is usually set to the same value as "name=".


 
Reply With Quote
 
Evertjan.
Guest
Posts: n/a
 
      10-25-2005
McKirahan wrote on 24 okt 2005 in comp.lang.javascript:

> Also, "id=" is usually set to the same value as "name=".
>


Not at all.

In a form, the name goes into the querystring/poststring,
and could be out of control of the programmer on a external site,
the id however could be seralized.

<input name='theName' id='f1'>
<input name='theStreet' id='f2'>
<input name='theTown' id='f3'>
......

for large forms, the clientside code can be much simpler that way:

for (i=1;i<60;i++){
with (document.getElementById('f'+i)){
if (value != defaultValue)
style.backgroundColor='cyan'
else
style.backgroundColor=''
}
}

yes I know, IE only can do:

input { background-color:expression(value!=defaultValue?'cyan':'');}

--
Evertjan.
The Netherlands.
(Replace all crosses with dots in my emailaddress)

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
vary number of loops nullgraph@gmail.com Python 6 04-16-2008 09:26 PM
unkown number of nested for loops Klaas Vantournhout C Programming 3 09-21-2006 05:19 PM
Loops with loops using html-template Me Perl Misc 2 01-12-2006 05:07 PM
OT: Number Nine, Number Nine, Number Nine FrisbeeŽ MCSE 37 09-26-2005 04:06 PM
dynamic number of nested loops Allan Bruce Java 5 07-03-2004 09:12 PM



Advertisments