8

当使用条形码扫描仪将文本输入突出显示的字段时,我试图阻止表单提交。当我按下扫描仪上的按钮时,它会自动尝试使用表单中更高优先级的提交按钮进行提交。我尝试在 javascript 中使用忽略功能,但找不到扫描仪的键码值。有没有办法设置不同提交按钮的优先级而不必重新排列它们?这就是我在代码中设置按钮的方式:

    <li>
        <cfinput type="submit" name="add" value="Enter Package">
    <cfinput type="submit" name="search" value="Search">                
    <cfinput type="submit" name="reset" value="Reset">
</li>
    </ul>       
</td>
<td>                
        <center><div id="labelImageDiv">
        <img id="labelImage" src="" alt="label preview"/>
    </div>
<ul>
        <li>
           <label for="printersSelect" class="left">Printer:</label>
        <select id="printersSelect" class="right"></select>
        <button id="printButton">Print</button>
    </li>
    <li>
    <div class="packHead">Package Pickup</div>                          
        <label for="pickup" class="left">Scan Barcode:</label>
        <div class="right">
        <cfinput type="text" name="pickup">
    </div>
    </li>
    <li>
    <div id="pickButton">
        <cfinput type="submit" name="pkgPickup" value="PickUp">
    </div>
    </li>
</ul>
4

6 回答 6

10

到目前为止我找到的最佳解决方案

$(":input").keypress(function(event){
    if (event.which == '10' || event.which == '13') {
        event.preventDefault();
    }
});
于 2014-08-09T21:04:05.580 回答
4

我投票赞成存在溶解的答案,因为扫描仪应该是可配置的。

但是,一个非常简单的 javascript 解决方案是返回 false onSubmit,除非实际单击了提交按钮以允许提交表单。像这样的东西——

<script language="javascript">var p = false;</script>
<form method="post" onsubmit = "return(p)">
    <input type = "text" name = "text" />
    <input type = "submit" value = "submit" name = "submit" onClick = "javascript: p=true;" />
</form>
于 2013-02-13T13:15:19.397 回答
3

大多数扫描仪允许您对作为扫描的一部分发送的字符进行编程。您通常可以在网上找到扫描仪的型号手册,下载它,然后扫描正确的编程代码以获得扫描以发送您想要的内容。

于 2013-02-12T19:02:49.093 回答
1

如果扫描仪正在输入文本框,请在隐藏提交按钮的情况下启动表单。只有在文本框有数据时才显示它。这是用 javascript 完成的,而不是 ColdFusion。

于 2013-02-12T19:17:22.773 回答
1

只需添加这个 HTML 数字过滤器!

<input type="text" id="bcvalue" name="barcodedata" value = "" onkeypress="return (event.charCode > 47 && event.charCode < 58)">

非常适合我的 iPad 资产控制应用程序!

于 2020-04-11T15:26:46.227 回答
-1

将输入类型设置为button。扫描完成后将其更改为提交。

于 2021-04-06T08:03:54.720 回答