I have a field called “txtWorkOfDate.” It is a field that can be modified, but upon page load it is already populated with a date from a SQL table (as indicated below…RS(“WorkOfDate”). However, JS doesn’t seem to like the value in that text box because when I try to submit the page, I get an alert to provide a valid date. (Maybe JS thinks it’s blank for some reason?) Can anyone explain why this might be? Maybe this is not the way to do date validation when a field is already populated upon page load? Or, something else I need to account for?
Thanks.
[code=html]
<input type=”text” name=”txtWorkOfDate” id=”txtWorkOfDate” value=”<%=(RS(“WorkOfDate”))%>”>
<input type=”button” name=”Submit Changes” class=”button” onClick=”submitChanges()” value=”Submit Changes”>
<script language=”javascript”>
//Validate date
{
var today = new Date();
function valid_date(arnumbers)
{
var A= arnumbers.split(/D+/);
try
{
A[2]*= 1;
A[0]-= 1;
A[1]*= 1;
}
catch(er)
{
throw ‘Bad Date Input: should be a valid date in mm/dd/yyyy format.’;
}
var D= new Date(A[2],A[0],A[1]);
if(D.getDate()== A[1] && D.getMonth()== A[0] && D.getFullYear()== A[2])
return D;
return false;
}
}
//Submit Page
function submitChanges()
{
var msg = “”;
var WorkOfDate = document.frmEditIssue.txtWorkOfDate.value;
var WorkOfDateResult = valid_date(WorkOfDate);
//Validate work of date
if (!WorkOfDateResult)
{
msg += “Please enter a valid work of date in mm/dd/yyyy format.n”;
}
if (WorkOfDateResult > today)
{
msg += “Work of date cannot be in the future. Please enter a valid date.n”;
}
if (msg == “”)
{
frmEditIssue.action = “update_issue_post.asp”;
frmEditIssue.submit();
}
else
{
alert (msg);
}
}