输入字段对用户不可见

时间:2017-03-28 13:38:21

标签: c# jquery asp.net

我想加载我的ASP.NET页面,接收用户输入并基于它做一些动作。问题是我不想让用户看到他/她打字的内容,输入本身也不应该是可见的。另外,如果输入的长度为6,则我想处理回发。

最近我可以看到这是一个背景颜色的文本框:透明且没有边框。还启用了自动后备功能。文本框获得焦点,当用户按下回车时,调用回发,检查文本长度,然后我在后面的代码中做一些事情。不幸的是,用户可以看到他/她输入的文字,并且必须按下输入。

任何想法我怎样才能做到这一点?

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

页面已加载,用户看到空白页面。她/他将RFID卡放在RFID阅读器上。读者将输入+输入(应该很容易在阅读器本身上设置)发送到页面。出现回发,检查长度,在页面上写入一些信息。我不希望用户在回发之前看到任何内容(尤其是来自文本框的文本)。 现在我没有读者以及如何隐藏输入的方式,但我需要测试它。如果我能弄清楚如何在没有发送输入的情况下进行回发,那就更好了。

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

所以我并不完全清楚你想要什么,但据我所知,这是一个解决方案:

使用CSS创建一个不可见的文本框。在提交按钮上,添加一个JS / jQuery函数,检查输入是否长度为六个字符,并且只有在这种情况下才执行回发 - 其他任何内容,函数将返回false,并且页面不会后背部。

这是你的想法吗?

<强> ASP.Net

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

<强> CSS

.invis {
  border: 0px;
  color: transparent;
  background: none;
  outline: 0;
}

<强>的jQuery

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

    return false;
}

答案 2 :(得分:0)

尝试执行以下操作:

&#13;
&#13;
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script>
      jQuery(function(){
        $("#teste").keypress(function(event){
          //console.clear();
          //console.log(event);      
          $(this).val("");
          $("#testeHidden").val($("#testeHidden").val() + event.key);
          var value = $("#testeHidden").val();
          if(value.length < 6)
            return false;
          $("#secretButton").click();          
          return false;      
        });
        $("#viewer").click(function(){
          alert($("#testeHidden").val());
        });
        $("#secretButton").click(function(){
          console.log("I will post to the server the following value:");
          console.log($("#testeHidden").val());
          $("#testeHidden").val("");
        });
      });
    </script>
    <input type="text" id="teste" />
    <input type="hidden" id="testeHidden" />
    <input type="button" value="show" id="viewer" />
    <input type="button" value="show" style="display:none" id="secretButton" />
&#13;
&#13;
&#13;

我希望它可以帮到你。