Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用户不可见的输入字段_C#_Jquery_Asp.net - Fatal编程技术网

C# 用户不可见的输入字段

C# 用户不可见的输入字段,c#,jquery,asp.net,C#,Jquery,Asp.net,我想加载我的ASP.NET页面,接收用户输入并在此基础上执行一些操作。问题是我不想让用户看到他/她输入的内容,输入本身也不应该可见。如果输入的长度为6,我还要处理回发 我能找到的最接近这一点的是一个背景颜色为:透明且无边框的文本框。还启用了自动回发。Textbox获得焦点,当用户按enter键时,调用回发,选中文本长度,然后我在代码隐藏中执行一些操作。不幸的是,用户在键入和按enter键时可以看到文本 有什么办法可以做到这一点吗 //对于所有想知道我为什么要这样做的人: 页面已加载,用户看到空页

我想加载我的ASP.NET页面,接收用户输入并在此基础上执行一些操作。问题是我不想让用户看到他/她输入的内容,输入本身也不应该可见。如果输入的长度为6,我还要处理回发

我能找到的最接近这一点的是一个背景颜色为:透明且无边框的文本框。还启用了自动回发。Textbox获得焦点,当用户按enter键时,调用回发,选中文本长度,然后我在代码隐藏中执行一些操作。不幸的是,用户在键入和按enter键时可以看到文本

有什么办法可以做到这一点吗

//对于所有想知道我为什么要这样做的人:

页面已加载,用户看到空页面。她/他将RFID卡放在RFID阅读器上。读卡器向页面发送输入+输入(应易于在读卡器上设置)。回发出现,长度被检查,一些信息被写在页面上。我不希望用户在回发之前看到任何东西(尤其是文本框中的文本)。
现在我没有阅读器和隐藏输入的方法,但我需要测试它。如果我能想出如何在不发送enter的情况下进行回发,那就更好了。

在ASP.NET中有一个“visible”属性,但它可能会禁用输入。也许你可以试一试

您还可以将文本颜色设置为与背景颜色相同(透明)-也值得一试


我会在输入字段上设置HTML5密码属性。然后用户可以看到输入,但看不到他们键入的字符。

因此我不完全清楚您到底想要什么,但据我所知,这里有一个解决方案:

使用CSS创建一个不可见的文本框。在submit按钮上,添加一个JS/jQuery函数,该函数检查输入是否有六个字符长,并仅在输入有六个字符长时执行回发操作-如果没有其他操作,该函数将返回
false
,页面将不会回发

这就是你的想法吗


ASP.Net

<asp:Textbox runat="server" cssclass="invis"></asp:Textbox>
<asp:Button runat="server" Text="Submit" onClientClick="return checkSixChars();"></asp:Button>
jQuery

function checkSixChars() {
    var $input = $(".invis").first();
    if ($input.val().length == 6) {
        return true;
    }

    return false;
}
尝试执行以下操作:


jQuery(函数(){
$(“#teste”)。按键(功能(事件){
//console.clear();
//console.log(事件);
$(此).val(“”);
$(“#testeHidden”).val($(“#testeHidden”).val()+event.key);
var值=$(“#testeHidden”).val();
如果(值。长度<6)
返回false;
$(“#secretButton”)。单击();
返回false;
});
$(“#查看器”)。单击(函数(){
警报($(“#testeHidden”).val();
});
$(“#secretButton”)。单击(函数(){
log(“我将向服务器发布以下值:”);
log($(“#testeHidden”).val());
$(“#”)val(“”);
});
});

使用
并使用JavaScript更改值?您可以使用密码样式的文本框吗?我知道您不希望用户看到他们键入的“什么”。我可以问一下,你到底为什么不想让用户看到他们正在键入的内容?
visible
是一个服务器端属性,如果使用带有
runat=“server”
标记的
visible=“false”
,项目将不会显示在页面上。这不是OP已经拥有的吗?另外,键入“Hello”,然后按Ctrl-A,您可以看到您键入的内容。如果用户想查看他们键入的内容,只需转到“Inspect Element”即可查看整个页面、隐藏字段和所有内容。我假设没有一个头脑正常的人会认为隐藏文本框或使用hiddenfields会起到安全作用,只是一种风格上的作用。这看起来很可靠。我试试看。非常感谢。
function checkSixChars() {
    var $input = $(".invis").first();
    if ($input.val().length == 6) {
        return true;
    }

    return false;
}