>

텍스트 필드 value_master 의 입력에 따라 일부 입력을 완료하려고합니다. . 예를 들어 123 를 입력하면  텍스트 필드 value_master 에서  모든 value_slave 에 특정 텍스트를 갖고 싶습니다  필드, 그러나 223 를 입력하면  다른 것을 원합니다.

이 문제를 해결하고 if 조건없이 작업하고 있습니다. 그것으로 나는 이것을 얻는다 : slave.substring is not a function . 마스터 값의 특정 위치에 따라 더 많은 파일을 완성해야하므로 하위 문자열을 사용하는 것이 중요합니다.

   window.onload = function()
    {
        var master = document.getElementById('value_master');
        var slave = document.getElementById('value_slave');
        document.getElementById('value_master').onkeyup = function(){
            if (slave.substring(0,1).equals("1") )          
            {
                slave.value = 'you typed something starting with 1';
            }
            else {
                slave.value = 'you typed something starting with 2';
            }
        };
    };

  • 답변 # 1

    코드를 다음과 같이 변경해야합니다 :

    window.onload = function()
    {
        document.getElementById('value_master').onkeyup = function() {
            var slave = document.getElementById('value_slave');
            if (slave.value.substring(0,1).equals("1") )          
            {
                slave.value = 'you typed something starting with 1';
            }
            else {
                slave.value = 'you typed something starting with 2';
            }
        };
    };
    
    

    slave  요소의 값이 아니라 코드의 요소입니다. 요소의 값을 얻으려면 element.value 를 사용해야합니다 . 또한이 값은 창이로드 될 때 한 번만 설정됩니다. 그러나 업데이트되지 않았습니다. 항상 입력 한 값으로 작업하려면 var slave = document.getElementById('value_slave'); 를 이동하십시오.   onkeyup 내부  기능.

  • 답변 # 2

    slave  문자열이 아닌 요소입니다. 그 가치를 얻으려고 노력하십시오.

    document.getElementById('value_master').onkeyup = function() {
       var slave = document.getElementById('value_slave').value;
    }
    
    

  • 이전 c# - 여러 JSON 파일을 xml 파일로 변환
  • 다음 javascript - Regex를 사용하여 변수를 documentgetElementById에 전달