Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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
Javascript 如何在输入元素文本字段中显示特殊字符,但仍保留JQuery中的值_Javascript_Php_Jquery - Fatal编程技术网

Javascript 如何在输入元素文本字段中显示特殊字符,但仍保留JQuery中的值

Javascript 如何在输入元素文本字段中显示特殊字符,但仍保留JQuery中的值,javascript,php,jquery,Javascript,Php,Jquery,我希望通过显示一些特殊字符来隐藏文本字段条目,但在内部,当我访问该值时,我希望获得用户输入的条目 它必须是type=“text”类型,如 非常感谢。如果键入的内容有任何安全性,那么这不是一个好主意 密码输入可能是更好的选择 如果希望显示随机字符,则必须在脚本中执行此操作,并将值指定给obclused变量,而不是“x”。为了清楚起见,这个版本不处理其他关键事件,因此您不能删除任何键入的字母,但它只是提供一些您可以开发的可用代码。下面的第二个版本允许使用“后退”按钮删除字符 文本框文本在您键入时

我希望通过显示一些特殊字符来隐藏文本字段条目,但在内部,当我访问该值时,我希望获得用户输入的条目

它必须是type=“text”类型,如



非常感谢。

如果键入的内容有任何安全性,那么这不是一个好主意

密码输入可能是更好的选择

如果希望显示随机字符,则必须在脚本中执行此操作,并将值指定给
obclused
变量,而不是“x”。为了清楚起见,这个版本不处理其他关键事件,因此您不能删除任何键入的字母,但它只是提供一些您可以开发的可用代码。下面的第二个版本允许使用“后退”按钮删除字符

文本框文本在您键入时变为白色-这需要与您使用的任何背景相匹配,并且在键入时它仍然短暂存在,只是在替换之前不可见

在PHP页面标题中:

<script language="javascript">
var obscured = '';
var real_value = '';
function obscure_it(real_value,ev){
        document.getElementById('text_input').style.color = '#fff';
        document.getElementById('real_text_hidden_input').value =         document.getElementById('real_text_hidden_input').value+real_value.substr(real_value.length - 1);
        obscured = window.obscured+'x'; // or + a randomly generated character
        window.obscured = obscured;
        document.getElementById('text_input').value = obscured;
        document.getElementById('text_input').style.color = '#000';
}

function white_it(){
        document.getElementById('text_input').style.color = '#fff';
}

</script>
把真正的信件打回来

<?php echo htmlspecialchars($_POST['real_text_hidden_input']); ?>

“后退”按钮用于删除字符的版本,提交的结果反映了删除:

    <script language="javascript">
    var ev = '';
    var obscured = '';
    var real_value = '';
    function obscure_it(real_value,ev){
            document.getElementById('text_input').style.color = '#fff';
            document.getElementById('real_text_hidden_input').value = document.getElementById('real_text_hidden_input').value+real_value.substr(real_value.length - 1);

                if(ev.keyCode != 8){ 
                obscured = window.obscured+'x';
                window.obscured = obscured;
                document.getElementById('text_input').value = obscured;
                }else{
                document.getElementById('real_text_hidden_input').value = document.getElementById('real_text_hidden_input').value.substr(0,  (document.getElementById('real_text_hidden_input').value.length-2));
                }
            document.getElementById('text_input').style.color = '#000';
    }

    function white_it(){
           document.getElementById('text_input').style.color = '#fff';
    }
    </script>

var ev=“”;
var模糊=“”;
var实际值=“”;
函数值(实际值,ev){
document.getElementById('text_input')。style.color='#fff';
document.getElementById('real_text_hidden_input')。value=document.getElementById('real_text_hidden_input')。value+real_value.substr(real_value.length-1);
如果(ev.keyCode!=8){
暗显=窗口。暗显+'x';
window.obclused=被遮挡;
document.getElementById('text_input')。值=模糊;
}否则{
document.getElementById('real_text_hidden_input')。value=document.getElementById('real_text_hidden_input')。value.substr(0,(document.getElementById('real_text_hidden_input')。value.length-2));
}
document.getElementById('text_input')。style.color='#000';
}
函数white_it(){
document.getElementById('text_input')。style.color='#fff';
}
及表格:

     <form name="form" id="form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post">  
         <input type="hidden" name="real_text_hidden_input" id="real_text_hidden_input" value="" />
         <input type="text" name="text_input" id="text_input" onKeyPress="white_it()" onKeyUp="obscure_it(this.value, event);" /> 
         <input type="submit" name="sbutton" id="sbutton" value="Submit" /><br />
     </form>
     <a href="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>">Click to start a new submission</a>
     <br /><?php echo htmlspecialchars($_POST['real_text_hidden_input']); ?>

无论您的问题是什么,都可能在于您使用jQuery对值所做的操作,而不是您向我们展示的任何代码。为什么要对此进行标记但不进行标记?很遗憾,我无法为其提供type=“password”。我必须将其保留为type=“text”您可以尝试使用javascript,捕捉输入中的
keypress
keyup
事件,将新字符存储在某个javascript变量中,并用您的特殊字符替换输入
,使用javascript将输入类型更改为密码?
    <script language="javascript">
    var ev = '';
    var obscured = '';
    var real_value = '';
    function obscure_it(real_value,ev){
            document.getElementById('text_input').style.color = '#fff';
            document.getElementById('real_text_hidden_input').value = document.getElementById('real_text_hidden_input').value+real_value.substr(real_value.length - 1);

                if(ev.keyCode != 8){ 
                obscured = window.obscured+'x';
                window.obscured = obscured;
                document.getElementById('text_input').value = obscured;
                }else{
                document.getElementById('real_text_hidden_input').value = document.getElementById('real_text_hidden_input').value.substr(0,  (document.getElementById('real_text_hidden_input').value.length-2));
                }
            document.getElementById('text_input').style.color = '#000';
    }

    function white_it(){
           document.getElementById('text_input').style.color = '#fff';
    }
    </script>
     <form name="form" id="form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post">  
         <input type="hidden" name="real_text_hidden_input" id="real_text_hidden_input" value="" />
         <input type="text" name="text_input" id="text_input" onKeyPress="white_it()" onKeyUp="obscure_it(this.value, event);" /> 
         <input type="submit" name="sbutton" id="sbutton" value="Submit" /><br />
     </form>
     <a href="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>">Click to start a new submission</a>
     <br /><?php echo htmlspecialchars($_POST['real_text_hidden_input']); ?>