![]() |
How can i add some verification and required fields to this form
Hi
I have made the below form but i want to make some of the boxes etc a mandatory/required e.g. so they have to fill them in. How would i do it? |
I stripped it down to a bare minimum example and indented to make it easier to follow; you get to expand it as needed:
Code:
<script type="text/javascript"> |
Server-side validation is generally best (users can disable javascript - or you can force the form to submit via JavaScript, so if it's disabled the form can't submit.)
Basically, you get the value/selectedIndex of the form inputs via the DOM. Client-side validation that I like (give the form a name; change submit button to input type="button" and add onclick="return validateForm(this.form);"): Code:
function validateForm(formObj){ |
Quote:
There are some groups of disabled people who either use browsers that don't support JavaScript or where enabling JavaScript would make it impossible for them to interact with the page and such people have been known to take legal action when sites discriminate against them by not providing them with a way to interact with the site. There was one case where a large retailer whose site discriminated by requiring JavaScript that was settled out of court for a few million dollars. Even where your site is unimportant enough to not fall foul of anti-discrimination laws, do you really want to annoy some of your visitors and have them telling all your friends how useless your site is? |
Hello
I have tried amending this but when adding the below it just stops working and the message doesn't pop up any more... Any ideas? |
The "return true;" line belongs at the end of the function. Do all of the validation parts (name, address, ....) and their respective "return false;" lines first. If the user gets past all of those error checks, then the function returns the true value and the form submits.
|
Drop down menu issue
Quote:
|
You first pick up the index of the selected item, use that to get the "text" and "value" items, and then decide if the user has chosen something other than the default:
Code:
SI=document.forms[0].country.selectedIndex; // select index |
alert not working
[QUOTE=jalarie;1306750]You first pick up the index of the selected item, use that to get the "text" and "value" items, and then decide if the user has chosen something other than the default:
thanks |
Don't forget to get rid of the debugging alert() calls before you make the page live. You don't want people checking the checkbox that most broswers add to alert() to make it more useful for debugging.
|
thanks
|
Quote:
|
Quote:
Code:
if (!(/^([a-z0-9])([\w\.\-\+])+([a-z0-9])\@((\w)([\w\-]?)+\.)+([a-z]{2,4})$/i.test(email.value))) { /// returns true if invalid address syntaxSimply testing for the presence of an @ is completely inadequate. Even testing for the presence of a single @. Another (additional?) way is to cause the user to enter his email address twice to confirm. That still does not offer complete protection, but if the user cannot get his own email address correct that is his responsibility. Nothing will prevent typos such as @gmial.com. |
Quote:
Code:
Icountry=document.forms[0].country.value;address=document.forms[0].address.value; // avoid using the same name for an HTML element and a Javascript variable. Always include the var keyword to make your variable local to the function. It's a really bad idea to use NUMBERED forms. (document.forms[0]) And NAMED forms are considered obsolete. You should give IDs to your <form> tags. if (address == '') { Be aware that form validation of the pattern if (document.formname.formfield.value == "") - that is blank - is barely worthy of the name, and virtually useless, as even a single space, an X or a ? will return false, that is pass the validation. A proper name may only contain letters, hyphen, space and apostrophe. Numeric values, such as zip codes and phone numbers, should be validated as such. Ditto email addresses. This topic has been covered many times before in this forum. <javascript> should be <script type = "text/javascript"> I have the idea that your grasp of Javascript at present is not really up to what you are trying to achieve. |
Closing js?
thanks for the info very helpful.
I have changed <script> to <script type="text/javascript"> would i still end it with <script> because </script type="text/javascript"> is an error ? |
| All times are GMT +1. The time now is 06:45 PM. |
Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.