2010-09-27 52 views
1

现在这里是另一个问题.. 我的代码:验证不工作仍然在提交表格

<script type="text/javascript"> 
function validate_form() 
{ 


    if (document.myform.tele_caller.value == "") 
    { 
     alert ("Please insert the Name"); 
     return false; 
} 
else 
{ 
return true; 
} 
} 
</script> 

和形式 -

<form action="telecallerinfo.php?action=modify&id=<?php echo $id;?>" method="post" enctype="multipart/form-data" name="myform" 
onsubmit="return validate_form ();"> 
<table class="panel1"> 
<tr> 
    <td align="center">Caller Name:&nbsp; 
    <input name="tele_caller" type="text" size="15" value="<?php echo $tele_caller?>" /></td> 
</tr> 
<tr> 
    <td align="right"> 
    <input name="submit" id="submit" type="image" src="images/submit.gif" width="60" onclick="this.form.submit();"/> 
    <a href="telecallerinfo.php"><img src="images/cancel.gif" height="25" width="70"/></a> 
    </td> 
</tr> 


</table> 
</form> 

现在验证调用,并警告框也正在显示,但表单仍在提交中。错误在哪里?

回答

4

你手工调用submit()这里:

onclick="this.form.submit();" 

只是删除onclick处理程序,有没有必要的处理程序,它会因为它的<form>内自动发生。

下面是比较:your current code, with onclick(仍在提交)与your code with onclick removed(仅在有效时提交)。

+0

Thanxx了很多。我一直在这里找到答案...... – champ 2010-09-27 10:29:07

+0

@champ - 欢迎:) – 2010-09-27 10:29:36

1

从输入提交标记中删除onclick="this.form.submit();

1

尝试使用输入与submit型和无onclick事件

<input type="submit" id="submit"/> 

,你可以把图像中的CSS

input#submit { 
    background-image: images/submit.gif; 
    width: 60px; 
}