0

我有一个文本框和一个提交按钮。填充文本框后,当我们单击提交按钮时,该文本框应该被屏蔽(我们应该无法更改文本框中的任何内容),而不是禁用。

 <html>
<head>
  <script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
  <script type="text/javascript">
      $(function(){
        $('button').click(function(){
            var n = $('#name');
            if (n.attr('readonly')=='readonly') {
                n.removeAttr('readonly');
            } else {
                n.attr('readonly','readonly');
            }
        });
    });
 </script>
</head>
<body>
       <input type="text" id="name" />
       <button> Lock </button>
</body>

我通过“只读”属性来做到这一点,但我们可以通过“掩码”属性来做到这一点。

4

2 回答 2

1

您可以从http://plugins.jquery.com/maskedinput/安装 jquery 插件并尝试这样-

1) http://digitalbush.com/projects/masked-input-plugin/

2) http://igorescobar.github.io/jQuery-Mask-Plugin/

例如

jQuery(function($){
   $("#date").mask("99/99/9999");
   $("#phone").mask("(999) 999-9999");
   $("#tin").mask("99-9999999");
   $("#ssn").mask("999-99-9999");
});
于 2013-08-08T13:55:08.203 回答
0

您可以使用另一个输入标签,请参阅链接。
HTML:

<input id="name" />
<input id="hiddenName" style="display: none;" disabled="disabled" />
<button type="button" onclick="disableInput();">Disable</button>  

Javascript:

function disableInput() {
    var name = document.getElementById("name");
    var hiddenName = document.getElementById("hiddenName");
    hiddenName.value = name.value;
    hiddenName.style.display = "inline";
    name.style.display = "none";
}
于 2013-08-08T14:04:23.657 回答