Copy link to clipboard
Copied
I use the following javascript to validate a start and end date, and radio buttons on my form. What I need to do is limit the date selection to 30 days only. Anything more should display an error. So if I enter starting date of 1/1/2009 and ending date of 2/28/2009, then I should get a popup error. How can I do this with my exisintg code :
<Script language="JavaScript">
function validateForm()
{
if(document.indexForm.startDate.value == "" && document.indexForm.endDate.value == "")
{
alert('Start Date and End Date cannot be blank.');
indexForm.startDate.focus();
return(false);
}
if(document.indexForm.startDate.value > document.indexForm.endDate.value)
{
alert('End Date cannot be less than Start Date.');
indexForm.endDate.focus();
return(false);
}
if(document.indexForm.startDate.value !== "" && document.indexForm.endDate.value == "")
{
alert('End Date cannot be blank.');
indexForm.endDate.focus();
return(false);
}
if(document.indexForm.startDate.value == "" && document.indexForm.endDate.value !== "")
{
alert('Start Date cannot be blank.');
indexForm.startDate.focus();
return(false);
}
myOption = -1;
for (i=indexForm.region_code.length-1; i > -1; i--) {
if (indexForm.region_code.checked) {
myOption = i; i = -1;
}
}
if (myOption == -1) {
alert("Please select a region.");
return(false);
}
myOption = -1;
for (i=indexForm.reportName.length-1; i > -1; i--) {
if (indexForm.reportName.checked) {
myOption = i; i = -1;
}
}
if (myOption == -1) {
alert("Please select a report.");
return(false);
}
return(true);
}
</Script>
Copy link to clipboard
Copied
Step 1. Get rid of anything that can be done with a cfinput tag and the built in js that comes with it.
Step 2 - js is reading strings, not dates from your text boxes. Convert these to dates before you start comparing the values to each other.
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more