PHP:onkeyup输入文本

时间:2018-03-09 07:27:43

标签: javascript

我使用onkeyup函数和结果,如图所示

enter image description here

        function DES1(val){
            var a = document.getElementById(val.id).value
            var inputs = document.querySelectorAll(".des1");
            for(var i=0;i < inputs.length;i++)
            {
               inputs[i].value = a;
            }
        }

<label>A</label><font color="red">*</font>
<input type="text" name="id" id="des1" onkeyup="DES1(this)">
<label>B</label><font color="red">*</font>
<input type="text" class="des1">

但是当我输入数字3(然后是表格的历史数字) enter image description here

当我点击数字并填写输入,但输入B没有按照输入A,如何解决?

enter image description here

3 个答案:

答案 0 :(得分:1)

你需要onchange event

&#13;
&#13;
$("#des1").change(function(){
  var value = $("#des1").val();
  $(".des1").val(value);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>A</label><font color="red">*</font>
<input type="text" name="id" id="des1">
<label>B</label><font color="red">*</font>
<input type="text" class="des1">
&#13;
&#13;
&#13;

当您使用onkeyup事件时,它无法确定何时使用从某处复制文本或从自动完成中选择。但是当输入发生变化时,变化事件就会起作用。

答案 1 :(得分:1)

如果要在用户释放键时绑定函数,则应使用

onkeyup;如果输入值发生更改,则应使用oninput。您应该使用oninput。试试这个:

function DES1(val){
    var a = document.getElementById(val.id).value
    var inputs = document.querySelectorAll(".des1");
    for(var i=0;i < inputs.length;i++) {
       inputs[i].value = a;
    }
}
<label>A</label><font color="red">*</font>
<input type="text" name="id" id="des1" oninput="DES1(this)">
<label>B</label><font color="red">*</font>
<input type="text" class="des1">

答案 2 :(得分:-2)

您可以添加事件onchange,这将在值更改时触发该函数。

https://www.w3schools.com/jsref/event_onchange.asp

<label>A</label><font color="red">*</font>
<input type="text" name="id" id="des1" onkeyup="DES1(this)"  onchange="DES1(this)">
<label>B</label><font color="red">*</font>
<input type="text" class="des1">