bbvic
asked on
Time input validation
hi!
I am trying to make input validation.
if I have one input text, the validation works. But if I have more than one input text, it does not work..
Would you please help me??
<html>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function IsValidTime() {
for (i = 0; i <= 3; i++)
{
var timeStrA = document.timeform.time +'i'.value;
var timeStr = timeStrA+'i';
var timePat = /^(\d{1,2}):(\d{2})?$/;
var matchArray +'i' = timeStr.match(timePat);
var matchArray = matchArray +'i';
if (matchArray == null) {
alert("Time is not in a valid format.");
return false;
}
var hour = matchArray[1];
var minute = matchArray[2];
if (hour < 0 || hour > 24) {
alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
return false;
}
if (minute<0 || minute > 59) {
alert ("Minute must be between 0 and 59.");
return false;
}
}
}
</script>
</HEAD>
<BODY>
<center>
<form name=timeform >
time1 <input type=text name="time"><br>
time2 <input type=text name="time1"><br>
time3 <input type=text name="time2"><br>
time4 <input type=text name="time3"><br>
<input type="submit" value="Submit" onClick="return IsValidTime();">
</form>
</center>
</body>
</html>
I am trying to make input validation.
if I have one input text, the validation works. But if I have more than one input text, it does not work..
Would you please help me??
<html>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function IsValidTime() {
for (i = 0; i <= 3; i++)
{
var timeStrA = document.timeform.time +'i'.value;
var timeStr = timeStrA+'i';
var timePat = /^(\d{1,2}):(\d{2})?$/;
var matchArray +'i' = timeStr.match(timePat);
var matchArray = matchArray +'i';
if (matchArray == null) {
alert("Time is not in a valid format.");
return false;
}
var hour = matchArray[1];
var minute = matchArray[2];
if (hour < 0 || hour > 24) {
alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
return false;
}
if (minute<0 || minute > 59) {
alert ("Minute must be between 0 and 59.");
return false;
}
}
}
</script>
</HEAD>
<BODY>
<center>
<form name=timeform >
time1 <input type=text name="time"><br>
time2 <input type=text name="time1"><br>
time3 <input type=text name="time2"><br>
time4 <input type=text name="time3"><br>
<input type="submit" value="Submit" onClick="return IsValidTime();">
</form>
</center>
</body>
</html>
try
var timeStrA = document.timeform.elements [time +'i'].value;
var timeStrA = document.timeform.elements
sorry shud be
var timeStrA = document.timeform.elements ['time' +i].value;
var timeStrA = document.timeform.elements
or simply
var timeStrA = document.timeform.elements ['time' +i].value;
var timeStrA = document.timeform.elements
<no-points>
sorry Roonan, did not see ur post
</no-points>
sorry Roonan, did not see ur post
</no-points>
few other things need to be corrected in ur script
<html>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function IsValidTime() {
for (i = 0; i <= 3; i++)
{
var timeStr = document.timeform.elements ['time' +i].value;
var timePat = /^(\d{1,2}):(\d{2})?$/;
var matchArray = timeStr.match(timePat);
if (matchArray == null) {
alert("Time is not in a valid format.");
document.timeform.elements ['time' +i].select();
document.timeform.elements ['time' +i].focus();
return false;
}
var hour = matchArray[1];
var minute = matchArray[2];
if (hour < 0 || hour > 24) {
alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
return false;
}
if (minute<0 || minute > 59) {
alert ("Minute must be between 0 and 59.");
return false;
}
}
}
</script>
</HEAD>
<BODY>
<center>
<form name=timeform >
time1 <input type=text name="time0"><br>
time2 <input type=text name="time1"><br>
time3 <input type=text name="time2"><br>
time4 <input type=text name="time3"><br>
<input type="submit" value="Submit" onClick="return IsValidTime();">
</form>
</center>
</body>
</html>
<html>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function IsValidTime() {
for (i = 0; i <= 3; i++)
{
var timeStr = document.timeform.elements
var timePat = /^(\d{1,2}):(\d{2})?$/;
var matchArray = timeStr.match(timePat);
if (matchArray == null) {
alert("Time is not in a valid format.");
document.timeform.elements
document.timeform.elements
return false;
}
var hour = matchArray[1];
var minute = matchArray[2];
if (hour < 0 || hour > 24) {
alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
return false;
}
if (minute<0 || minute > 59) {
alert ("Minute must be between 0 and 59.");
return false;
}
}
}
</script>
</HEAD>
<BODY>
<center>
<form name=timeform >
time1 <input type=text name="time0"><br>
time2 <input type=text name="time1"><br>
time3 <input type=text name="time2"><br>
time4 <input type=text name="time3"><br>
<input type="submit" value="Submit" onClick="return IsValidTime();">
</form>
</center>
</body>
</html>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
var timeStrA = eval("document.timeform.ti
-r-