[Javascript] Form validation
Matt Barton
javascript at mattbarton.org
Tue Jan 20 08:56:57 CST 2004
I think that your problem might be down to your use of 'form' as a variable
name, as Chris suggested.
Instead of:
function valForm(arrFields,form)
as your function definition, try:
function valForm (arrFields, frmMyForm)
Then, in your function you might invoke a focus event on an element thus:
frmMyForm.elements[arrFields[i]].focus();
Try it and see what you get.
Matt
----- Original Message -----
From: "Cutter (JavaScript List)" <java.script at seacrets.com>
To: "[JavaScript List]" <javascript at LaTech.edu>
Sent: Tuesday, January 20, 2004 2:53 PM
Subject: Re: [Javascript] Form validation
> In the document with the form I call my external script with the function:
>
> script language="JavaScript" src="../js/valForm.js" type="text/javascript"
>
> In the same document I create my array:
>
> fields = new
>
Array('firstname','lastname','email','userlogin','password','verifypw','addr
1','city','state','zip','phoneevn');
>
> In the onSubmit of the form I call the function:
>
> onSubmit="return valForm(fields,this.form)"
>
> And the function (in the external file) looks like this:
>
> function valForm(arrFields,form)
> {
> re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/; // email
> validation regex
>
> for (i = 0;i < arrFields.length; i++)
> {
>
> fieldName = form + '.' + arrFields[i];
> sName = '' + arrFields[i] + ''; // trying this now since
> arrFields[i] didn't work in elements[]
>
> if ( fieldName.options )
> val = fieldName.options(fieldName.selectedIndex).value;
> else
> val = fieldName.value;
>
> if ( val == null || val == 0 )
> {
>
> alert('You forgot the following required information:\n' +
> arrFields[i] + '');
> form.elements[sName].focus();
> return false;
>
> }
>
> if ( array[i] == 'email' )
> {
>
> if( !re.test(val) )
> {
>
> alert('You must provide a valid e-mail address.');
> form.elements[sName].focus();
> form.elements[sName].select();
> return false;
>
> }
>
> }
>
> return true;
>
> }
>
> }
>
> And that's it for now. Just can't get this working yet...
>
> Cutter
>
> Chris Tifer wrote:
>
> >First, what is "form"?
> >
> >If that's the exact syntax you're using, I'd have to suggest that form is
> >not pointing to a form. If you have a name on your form (for instance
> >"myForm"), do this:
> >
> >var objForm = document.forms["myForm"]
> >
> >Then try
> >
> >objForm.elements[arrFields[i]].focus()
> >
> >form by itself is nothing...
> >
> >If that still doesn't work, show us your exact code and I bet we can
solve
> >it.
> >
> >Chris Tifer
> >
> >----- Original Message -----
> >From: "Cutter (JavaScript List)" <java.script at seacrets.com>
> >To: "[JavaScript List]" <javascript at LaTech.edu>
> >Sent: Tuesday, January 20, 2004 9:41 AM
> >Subject: Re: [Javascript] Form validation
> >
> >
> >
> >
> >>Chris,
> >>
> >>Thanks, but I'm still languishing here. I tried
> >>
> >>form.elements[arrFields[i]].focus();
> >>and
> >>form.elements[sName].focus();
> >>
> >>Both times it gave me the error "Error:'elements' is null or not an
> >>object". Any ideas? Anyone? Anyone?
> >>
> >>Cutter
> >>
> >>Chris Tifer wrote:
> >>
> >>
> >>
> >>>>form.array[i].focus();
> >>>>
> >>>>
> >>>>
> >>>>
> >>>--------------------------
> >>>As long as it's an input of some sort, you can always do:
> >>>
> >>>form.elements[array[i]].focus()
> >>>
> >>>Now I'm assuming array[i] just refers to to a string. Not to an actual
> >>>element. If it's an element, it'd probably error out.
> >>>
> >>>And I am also assuming that you did not name your array, array[].
> >>>
> >>>
> >Correct?
> >
> >
> >>>If so, call it something like arrFields or something else.
> >>>
> >>>
> >>>
> >>>_______________________________________________
> >>>Javascript mailing list
> >>>Javascript at LaTech.edu
> >>>https://lists.LaTech.edu/mailman/listinfo/javascript
> >>>
> >>>
> >>>
> >>>
> >>_______________________________________________
> >>Javascript mailing list
> >>Javascript at LaTech.edu
> >>https://lists.LaTech.edu/mailman/listinfo/javascript
> >>
> >>
> >
> >_______________________________________________
> >Javascript mailing list
> >Javascript at LaTech.edu
> >https://lists.LaTech.edu/mailman/listinfo/javascript
> >
> >
>
>
> _______________________________________________
> Javascript mailing list
> Javascript at LaTech.edu
> https://lists.LaTech.edu/mailman/listinfo/javascript
>
> --
> This email has been verified as Virus free
> Virus Protection and more available at http://www.plus.net
More information about the Javascript
mailing list