I need some help with JavaScript for Form validation using for inside the JavaScript.
I have a form that contains 5 fields for username and password and need to use JavaScript for validation of the form before it can be submitted to database.
You can see the code and the result that I need here in this JsFiddle
or
This is the code from my view :
<form action="insertMember" method="post" name="fmember" onsubmit="return validateMember()">
<div class="form-group">
<label>Shop</label>
<select>
<option value="">Choose The Host</option>
<option value="1">Shop 1</option>
<option value="2">Shop 2</option>
</select>
</div>
<?php
$max = 5;
for($i=1; $i<=$max; $i++) { ?>
<span class="error<?php echo $i; ?>" class="label label-danger"></span>
<label>Username <?php echo $i; ?></label>
<input type="text" name="user[<?php echo $i; ?>]">
<label>Password <?php echo $i; ?></label>
<input type="password" name="pass[<?php pass $i; ?>]">
<span class="errorp<?php echo $i; ?>" class="label label-danger"></span>
<?php } ?>
</form>
This is the code from my Javascript (still error) :
// How to validate input using FOR LOOP ?
// $max or max can be changes to 10 or more.
function validateMember() {
// I got an error from here.
var max = 3;
var member = [];
var password = [];
for(var i=1; i<=max; i++) {
var member = document.forms.fmember.user[i].value;
var password = document.forms.fmember.pass[i].value;
// Validate only username 1 must be filled or return error message
if(i == 1) {
if(member[i] == '') {
document.getElementByID('error'+i).innerHTML = 'Username Must be Filled !';
return !1;
}
else if (password[i] == '') {
document.getElementByID('errorp'+i).innerHTML = 'Password Must be Filled !';
return !1;
}
else {
return !0;
}
}
else {
// Validate if username 2 until MAX are filled must have min length = 2
if(member[i] != '') {
if(member[i].length < 2) {
document.getElementByID('error'+i).innerHTML = 'Username Must Have Minimum 2 Characters';
return !1;
}
else {
return !0;
}
}
}
}
}