你先试试:
把下列代码存为 aa.htm。然后在文本框中直接键入回车键,看看结果如何?
<form action="aa.htm" method="post" name="maintainForm" target="_blank" >
     <input type="text" name="corpName" size="30" maxlength="60" >
</form>

解决方案 »

  1.   

    <script>
    function submitform(form){
        if (form.corpName.value == ""){
              form.corpName.focus();
              alert("This is Empty.");
              return false;
        }
    }
    </script>
    <form action="/maintain/maintain.do?operation=add" method="post" name="maintainForm" onsubmit="return submitform(this);">
    ........
    </form>
      

  2.   


    <input type="button" name="submit" value="增加" onclick="addSubmit();return false;">
    <!--就可以了,然后在想提交可以理服使用document.maintainForm.submit();-->
      

  3.   

    javascript代码有问题1、你的button的属性“name”为"submit",当调用window.document.maintainForm.submit();的时候,不会调用submit提交。而是把这个解析为你的button按钮。提示没有这个属性错误。
    解决方法:把button的name重命名,如submit12、你的butonn的中有这样一个event 
    onKeyClick="JavaScript:addSubmit();"
    我刚查看了msdn2005,始终没有发现有onkeyclick这个event
    我测试的时候,用onclick代替的。
    3、就是函数function handleEnter(field,event)并没有返回值。
    所以你在文本框中回车的时候,这个函数调用addSubmit()函数检测到text为空,函数addSubmit()返回的false。
    但是,这并不是handleEnter(field,event)的返回值。所以还是提交了
    解决方法
    函数handleEnter(field,event)修改如下
    function handleEnter(field,event)
      {
        var keyCode= event.keyCode ? event.keyCode:event.which ? event.which : event.charCode;
        if (keyCode==13)
        {
         return addSubmit();//这里把addSubmit()的返回值,作为函数返回值就ok了。
        }
       }以上3个地方,修改后,在win2003 dc ie6下测试成功。
      

  4.   

    谢谢feillex,关键是没有返回return addSubmit().
    结贴了.