I need to validate all the input boxes that I have created, name, email and phone. The problem is it is only validating the first ones and not the rest. I have stored all the ids in an array (indicated in red), how can I check these ids to see if there is anything stored in that field?
Here is my code:
- Code: Select all
<script language="JavaScript" type="text/javascript">
var mycounter = 1;
var limit = <? echo $limitvar; ?>;
function addInput(number){
mycounter = 1;
document.getElementById("dynamicInput").innerHTML = "";
var num = parseInt(number);
var i;
for (i = 0 ;i <num; i++){
if (mycounter == limit) {
alert("You have reached the limit of adding " + mycounter + " inputs");
break;
}
var newdiv = document.createElement('div');
newdiv.innerHTML = " <tr><td>Guest " + mycounter + "<td></tr> <table><tr><td>Guest name</td><td>Guest email</td><td>Guest phone number</td></tr> <tr><td><input type='text' name='myGuestName[]' id='pname'></td><td><input type='text' name='myGuestEmail[]' id='pemail'></td><td><input type='text' name='myGuestPhone[]' id='pphone'></td></tr></table>";
document.getElementById("dynamicInput").appendChild(newdiv);
[color=#FF0000]var allIDname = new Array(document.getElementById('pname'));
var allIDemail = new Array(document.getElementById('pemail'));
var allIDphone = new Array(document.getElementById('pphone'));[/color]
mycounter++;
}
}
function validateGuest() {
var guestName = document.getElementById('pname');
var guestEmail = document.getElementById('pemail');
var guestPhone = document.getElementById('pphone');
if (guestName.value == "") {
alert("Please enter the guest's name");
return false;
} else if (guestEmail.value == "") {
alert("Please enter the guest's email");
return false;
} else if (guestPhone.value == "") {
alert("Please enter the guest's phone");
return false;
}
return true;
}
</script>


