当我从onsubmit返回false时,HTML表单仍然会提交?

时间:2014-08-10 17:49:15

标签: javascript jquery html

这里是html表单:

 <form id="form1" name="form1" action="toSQL.php" method="get" accept-charset="utf-8"   onsubmit="return submitTest();">
<p><input type="text" name="Cliname" id="textfield" maxlength = "10" /></p>
<p><textarea name="message" id="message" maxlength = "20" ></textarea>
<input type="submit" value="submit" id="btn"/>
</form>

这里是js:

<script type="text/javascript" > 
function submitTest() { 
   if ( form1.textfield.value == "" ) {
       alert( "enter your name!!" ) ;
       form1.name.focus();
       return false ;
   } 

   if (form1.message.value == "" ) {
       alert( "type the content!!" ) ;
       form1.message.focus();
      return false ;
   } 
} 
</script> 

警告显示,但它仍然将表单发送到sql。 我不知道:(

3 个答案:

答案 0 :(得分:1)

提交表单是因为您的代码存在错误。浏览器无法在name上找到标识为form1.name.focus();的表单子项。将其更改为form1.textfield.focus();

答案 1 :(得分:0)

在普通(非jQuery)事件处理程序中,return false不会阻止事件冒泡。

有关详细信息,请参阅event.preventDefault() vs. return false

答案 2 :(得分:0)

您也可以将required用于HTML5

<input type="text" required name="Cliname" id="textfield" maxlength = "10" />