I Want To Verify In Javascript That My Required Fields Are Not Blank
Solution 1:
There are a couple issues here:
cn1 = 'child_name'+document.getElementById('child_name').value;
In this case you are assigning cn1 to the String 'child_name'
+ the value of your child_name textbox... it will never equal an empty String.
Secondly, you'll want your insert()
method to return false
on error in order to stop the button's intended action.
Solution 2:
Try changing the function to this: (NOTE: you have to add more tests to the if clause for the rest of the elements)
functioninsert() {
if (window.XMLHttpRequest) {
xmlhttp = newXLMHttpRequest();
} else {
xmlhttp = newActiveXObject('Microsoft.XMLHTTP');
}
if (document.getElementById('child_name').value === '' ||
document.getElementById('age').value === '' ||
...more tests... ||
document.getElementById('zip').value === '') {
alert ("Please enter all required fields.");
returnfalse;
} else {
cn1 = 'child_name'+document.getElementById('child_name').value;
ag2 = 'age'+document.getElementById('age').value;
hm3 = 'hometown'+document.getElementById('hometown').value;
bg4 = 'boy_girl'+document.getElementById('boy_girl').value;
fn5 = 'first_name'+document.getElementById('first_name').value;
ln6 = 'last_name'+document.getElementById('last_name').value;
email = 'email'+document.getElementById('email').value;
ad8 = 'address1'+document.getElementById('address1').value;
ad9 = 'address2'+document.getElementById('address2').value;
ct10 = 'city'+document.getElementById('city').value;
st11 = 'state'+document.getElementById('state').value;
zp12 = 'zip'+document.getElementById('zip').value;
xmlhttp.open('POST', 'payment.php', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(cn1&ag2&hm3&bg4&fn5&ln6&email$ad8&ad9&ct10&st11&zp12);
}
}
Solution 3:
If I were you, I'd give each one of those elements a common name or a class.
For example:
<inputid="child_name"class="not_blank"type="text">
<inputid="age"class="not_blank"type="text">
<inputid="hometown"class="not_blank"type="text">
Since you are tying all those elements as a group by class.
Then your javascript would be a lot easier:
var flagInvalid = false;
var tempArray = document.getElementsByClassName("not_blank");
for (var i = 0; i < tempArray.length; i++)
{
if (tempArray[i].value == "" || tempArray[i].value === undefined || tempArray[i].value == null){
flagInvalid = true;
break;
}
}
if (flagInvalid == false){
xmlhttp.open('POST', 'payment.php', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(cn1&ag2&hm3&bg4&fn5&ln6&email$ad8&ad9&ct10&st11&zp12);
} else { alert ("Please enter all required fields."); }
Btw, I strongly advise not to use "alert". Try to create a messaging system on the document itself. Like:
<spanid="log"class="hidden"style="color:red"><b>"Please enter all required fields." <b></span>
Your css would look like this:
.hidden { display: none; }
.show { display: inline; }
Your javascript would be changed to:
if (flagInvalid == false){
var log = document.getElementById("log");
log.className = 'hidden';
xmlhttp.open('POST', 'payment.php', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(cn1&ag2&hm3&bg4&fn5&ln6&email$ad8&ad9&ct10&st11&zp12);
} else {
var log = document.getElementById("log");
log.className = 'show';
}
Post a Comment for "I Want To Verify In Javascript That My Required Fields Are Not Blank"