Solved

Javascript Error form validation

Posted on 2007-11-15
14
323 Views
Last Modified: 2013-11-19
Hi

I am having a very strange problem with a form validation script I'm using on the following page, it reports that value is undefined - which I thought was due to an incorrectly named element but it all appears to be ok.

http://app.kambee.com/?i=100-39

Error: value is not defined
LINE 14

The error is when the form is submitted - Another set of eyes would be greatly appreciated!

0
Comment
Question by:logicjb
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
  • 2
  • +1
14 Comments
 
LVL 29

Expert Comment

by:Badotz
ID: 20294132
Hard to see the problem from only your question...how about some code?
0
 

Author Comment

by:logicjb
ID: 20294145
I gave a link to the page above, is it stripped from the question?
0
 
LVL 29

Expert Comment

by:Badotz
ID: 20294195
If the problem is in an ASP page, we will not be able to see that from your website :-( You will have to post it here.
0
WordPress Tutorial 1: Installation & Setup

WordPress is a very popular option for running your web site and can be used to get your content online quickly for the world to see. This guide will walk you through installing the WordPress server software and the initial setup process.

 

Author Comment

by:logicjb
ID: 20294212
It's not in an ASP page, it's in the HTML source which you can view from the URL above? This is a javascript related question - not ASP.
0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 20294233
logicjb,

The problem is checking for value with the radio buttons.  The radios actually end up being a collection.  You need to loop them, see which is checked, and then get the value of the checked button.  I can help with the specifics if you need it.

Let me know if you have any questions or need more information.

b0lsc0tt
0
 

Author Comment

by:logicjb
ID: 20294251
Thanks b0lsc0tt, that's a great help.

How would one loop the values?  - apologies if that's a pain to explain
0
 
LVL 12

Expert Comment

by:_Maddog_
ID: 20294271
Hi,

You're trying to check the "value" of two radio controls.
thisform.q70 is an array of two radio controls, it does not have a value attribute.

Look into radio controls validation, here's a sample:
http://www.codeave.com/javascript/code.asp?u_log=7049

validate_form, calls validate_required, with thisform.q70 as a parameter, it fails while checking this.q70.value, because it is an array of two radio controls.

- Maddog
0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 20294284
Let me work on some code.  It is easier to show than explain.  In the meantime to test what I mean add an alert in the first function like ...

function validate_required(field,alerttxt)
{
alert(field[0].value);

If the Yes is checked in the first question you will see the value.  Basically the loop will make that work for all of the radios.

bol
0
 

Author Comment

by:logicjb
ID: 20294444
Thanks bol, the problem does indeed go away if I remove validation for radio - and checkboxes too though.
0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 20294545
Try changing your first function too ...

(see snippet)

It is a little hard for me to test this but that is close.  I have some alerts and you can remove those if needed.

Let me know the results.

bol
function validate_required(field,alerttxt) {
      with (field) {
            alert(length);
            if (length > 1) {
                  for (var item in length) {
                        if (item.checked) {
                              alert(item.name + '-' + item.value);
                              while (item) {
                                    if (value==null||value=="")
                                      {alert(alerttxt);return false}
                                    else {return true}
                              }
                        }
                  }
            } else {
                  alert(name + '-' + value)
                  if (value==null||value=="")
                    {alert(alerttxt);return false}
                  else {return true}
            }
      }
}

Open in new window

0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 20294600
One possible issue remaining.  Do you want to require a radio or check box to be checked?  The current script won't but I can add it.

bol
0
 
LVL 54

Accepted Solution

by:
b0lsc0tt earned 500 total points
ID: 20294699
I had to get rid of some of the with()'s you were using.  The code should now alert if a set of radios or checkboxes aren't checked.  The focus won't work on those fields though and it seems to still submit when it shouldn't but that may just be my test page.

The revised function is below.

bol
function validate_required(field,alerttxt) {
	if (field.type == 'text') {
		with (field) {
			if (value==null||value=="")
			  {alert(alerttxt);return false}
			else {return true}
		}
	} else {
		var chked = false;
		for (var i=0; i< field.length; i++) {
			if (field[i].checked) {
				chked = true;
				break;
			}
		}
		if (!chked) {alert(alerttxt);return false}
	}
}

Open in new window

0
 

Author Closing Comment

by:logicjb
ID: 31409473
Superb, thank you.
0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 20299634
I'm glad that did it.  Thanks for the fun question, the grade, and the points.  See you around. :)

bol
0

Featured Post

Don't Cry: How Liquid Web is Ensuring Security

WannaCry is just the start. Read how Liquid Web is protecting itself and its customers against new threats.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
Browsers only know CSS so your awesome SASS code needs to be translated into normal CSS. Here I'll try to explain what you should aim for in order to take full advantage of SASS.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

626 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question