フォームがあり、送信時にjavascript検証関数を実行します。
<form method="post" onsubmit="return validateForm(this.id)" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" id='addjournalinfoform' style='border:0px;width:90%' class="formular" >
<fieldset>
<legend>
Journal
</legend>
<label>
<span>* ISSN:</span><br />
<input type='text' onfocusout="validateField('issn')" class='text-input' value="" name="issn" id="issn" style='width:30%'>
</label>
</fieldset>
</form>
これは関数です:
function validateForm(form)
{
if(form=="addjournalinfoform")
{
alert('onSubmit');
if($('#issn').val()=="")
{
$('#issnMsg').hide(500);
$('#issnMsg .formErrorContent').html("* This field is required!<br />");
$('#issnMsg').css('margin-left', $('#'+field).width()-20);
$('#issnMsg').show(500);
$('#issn').focus();
$('html:not(:animated),body:not(:animated)').animate({scrollTop: $('#issn').offset().top-50}, 0);
return false;
}
else
{
return true;
}
}
return false;
}
問題は、関数がfalseを返した場合でも、フォームが送信されたままになることです。何が悪いのですか?送信を防ぐ方法は?