保留TextBox验证的事件

时间:2013-11-06 15:48:25

标签: c# asp.net validation textbox

所以我有两个文本框,两者都被条码扫描器使用。 Textbox1是材质,Textbox2是进度。当TB2扫描“F4”并关注Textbox1时,我想清除TB1和TB2。

我无法理解,所以我来到你的堆栈。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

因此捕获条形码扫描非常棘手。事件模型是问题所在。更糟糕的是,你正在使用ASP.NET,因此它会变得更加困难。但是,使用JavaScript可以实现这一点。考虑以下jQuery:

$("#textBox2").on('keyup', function(event) {
    o = $(this);
    if (o.val() === 'F4') {
        // post the values back to the server via AJAX

        // clear the text boxes
        $("#textBox1").val('');
        o.val('');

        // focus the first text box
        $('#textBox1").focus();
    }
});

其中#textBox2是您要查询的id元素的input属性,#textBox1id的{​​{1}}属性容纳物质价值的元素。

这可能技术上被ASP.NET回发模型攻击,但它不会很漂亮。您必须使用相同的JavaScript事件来实际强制发回帖子:

input

其中$("#textBox2").on('keyup', function(event) { o = $(this); if (o.val() === 'F4') { $('#formName').submit(); } }); 是您所在的#formName元素的id属性。

然后在服务器端,您必须使用第二个文本框的form事件并检查其值以了解您应该清除两者的值。这只是一点善变。

最后,使用此回发模型,您必须注册一些客户端启动脚本以将焦点设置为第一个文本框,因为您需要一些JavaScript来执行此操作。如你所见,它变得更加丑陋。