Javascript阻止回车后提交表单

时间:2015-11-24 09:45:11

标签: javascript html forms barcode-scanner

我正在使用条形码扫描程序将数据添加到某些html字段。我想做的是以下

  1. 专注于第一场
  2. 扫描并将数据输入第一个字段
  3. 将焦点切换到第二个字段
  4. 扫描并将数据输入第二个字段
  5. 提交表格
  6. 我尝试了两种方法:

    • 抓住手持扫描仪发送的回车
    • 捕捉文本字段中的每次击键

    发布是后者。

    它可以正常工作,但前提是我将调试警报留在代码中... 如果我删除它们,表单就会提交......

    知道为什么吗?

        <html>
    <head>
    <head>
    <title>Webinterface</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    </head>
    
    <script type="text/javascript">
        function processForm(e) {
        if (e.preventDefault) e.preventDefault();
        return false;
    }
    function checkFieldC(text)
    {
        if(text.length==6){
            alert("C1");
            if(document.comform.Destination.value.length>0){
                alert("C2a");
                document.forms["comform"].submit();
                return true;
            }else{    
                alert("C2b");
                document.comform.Destination.focus();            
                return false;
            }
        }
        return false;
    }
    function checkFieldD(text)
    {
    
        if(text.length==9){
            if(document.comform.Container.value.length>0){
                alert("D2a");
                document.forms["comform"].submit();
                return true;
            }else{    
                alert("D2b");
                document.comform.Container.focus();            
                return false;
            }
        }
        return false;
    }
    </script>
    
    <form method="POST" name="comform" action="DoSomething.php">
    
    <br>
    <table width="90%"  border="0">
    
        <tr>
            <td valign="top" width="150">Container (6 digits)</td>
            <td><input name="comvalue[]" type="text" id="Container" size="10" maxlength="6" onkeyup="checkFieldC(this.value)" ></td>
        </tr>
        <br>
        <tr>
            <td valign="top" width="150">Destination:</td>
            <td><input name="comvalue[]" type="text" id="Destination" size="10" onkeyup="checkFieldD(this.value)"></td> 
    
        </tr>
    
        <tr>
         <td>Confirm</td>
         <td><button name="s2" onClick="submit()" class="cssButton1">Confirm</button></td>
        </tr>    
    </table>
    </font>
    </form>
    </body>
    </html>
    

1 个答案:

答案 0 :(得分:0)

好的,我在帖子how to prevent buttons from submitting forms

中找到了深层解决方案

定义按钮类型

<button type="button">Button</button>

它完美无缺。感谢您的支持:)