I am having a problem with cfinput required attribute working in a form where I have another jscript function running on submit. For some reason, when I try to use the code as follows, a message does not appear if the form field is left blank like it should, it allows the form to submit empty data. When I remove the javascript function, the cfinput works correctly. Any suggestions greatly appreciated.
Here is javascript that runs on submit.
<script language="javascript">
function checkform()
{
if (membership.Password.value=="")
{alert("Please Enter Your Password.");
return false;}
else
if (membership.Password2.value=="")
{alert("Please Re-Enter Your Password.");
return false;}
else
if (membership.email.value){
{
var emapat = /^[a-z][a-z_0-9\-.]+@[a-z_0-9\-.]+\.[a-z]{2,3}$/i;
if(!emapat.test(membership.email.value))
{alert('Please Enter a Valid Email Address.');
return false;}
}
}
var tempImage;
function getDimensions() {
if(tempImage.width > 75 || tempImage.height > 75){
alert("Forum Logo Must Be 75 * 75 or Less.");
}
if(tempImage.width < 76 && tempImage.height < 76)
{
document.membership.submit();
}
}
var imageName = document.membership.logo.value;
if (imageName != '') {
imageName = 'file:///' + escape(imageName.split('\\').join ('/'));
imageName = imageName.split('%3A').join(':');
tempImage = new Image();
tempImage.onload = getDimensions;
tempImage.src = imageName + '?randParam=' + new Date ().getTime();
return false;
}
}
</script>
Here is cfform:
<cfform action="/index2.cfm" method="post" enctype="multipart/form-data" name="membership" enablecab="yes" OnSubmit="return checkform();">
Here is cfinput not working:
<cfinput name="last" type="text" size="30" required="yes"
message="Please Enter Your Last Name" class="small-black" value="#userinfo.last#" maxlength="35">
Thanks in advance.
Here is javascript that runs on submit.
<script language="javascript">
function checkform()
{
if (membership.Password.value=="")
{alert("Please Enter Your Password.");
return false;}
else
if (membership.Password2.value=="")
{alert("Please Re-Enter Your Password.");
return false;}
else
if (membership.email.value){
{
var emapat = /^[a-z][a-z_0-9\-.]+@[a-z_0-9\-.]+\.[a-z]{2,3}$/i;
if(!emapat.test(membership.email.value))
{alert('Please Enter a Valid Email Address.');
return false;}
}
}
var tempImage;
function getDimensions() {
if(tempImage.width > 75 || tempImage.height > 75){
alert("Forum Logo Must Be 75 * 75 or Less.");
}
if(tempImage.width < 76 && tempImage.height < 76)
{
document.membership.submit();
}
}
var imageName = document.membership.logo.value;
if (imageName != '') {
imageName = 'file:///' + escape(imageName.split('\\').join ('/'));
imageName = imageName.split('%3A').join(':');
tempImage = new Image();
tempImage.onload = getDimensions;
tempImage.src = imageName + '?randParam=' + new Date ().getTime();
return false;
}
}
</script>
Here is cfform:
<cfform action="/index2.cfm" method="post" enctype="multipart/form-data" name="membership" enablecab="yes" OnSubmit="return checkform();">
Here is cfinput not working:
<cfinput name="last" type="text" size="30" required="yes"
message="Please Enter Your Last Name" class="small-black" value="#userinfo.last#" maxlength="35">
Thanks in advance.