2016-09-19 6 views
-1

왜 내 값이 내 텍스트 상자에 들어 가지 않습니다. 내 텍스트를 하드 코딩 할 수는 있지만 값이 클릭시 호출되는 내 목록 항목 함수에있는 경우에는 그렇지 않습니다.메시지가 텍스트 상자에 들어 가지 않습니다.

onclick 방법을 통해 값을 전달할 수 있습니까?

CSS

.show { 
    width: 300px; 
    height: 200px; 
    background-color: red; 
    padding: 10px; 
    display: none; 
    float: left; 
} 

HTML

<form> 
    <p><input type="text" name="T1" size="45" id="t" onfocus="show();" onblur="hide()"></p> 
</form> 

<div class="show" id="s"> 
    <ul> 
     <li><a href="#" id="o1" onclick="c1('ss');">List 1</a></li> 
     <li>List 1</li> 
     <li>List 1</li> 
     <li>List 1</li> 
    </ul> 
</div> 

JS

function c1(vl) { 
    var msg = v1; 
    document.getElementById("t").value = "ddd" + msg; 
    document.getElementById("s").style.display = "none"; 
} 

function show() { 
    document.getElementById("s").style.display = "block"; 
} 

function hide() { 
    document.getElementById("s").style.display = "none"; 
} 
+0

두 실수 : 그것은'vl'가 아니라'v1'은 (방금 vl''사용, 변수'msg' 필요하지 않습니다) 그리고 당신이 링크를 클릭하기 전에' onblur' 이벤트가 발생하고 클릭 이벤트가 발생하기 전에 목록을 숨 깁니다. – Xufox

+0

초점을 잃으면 내 div를 어떻게 숨길 수 있습니까? – kiwis

+0

Jquery를 사용하면 전체 코드를 훨씬 쉽게 작성하고 이해할 수 있습니다. jquery를 사용하여 3 가지 함수를 작성하는 대신 div 함수를 사용하여 jquery의 hide() 및 show() 메소드를 호출 할 수 있습니다. 또한 텍스트 상자의 값은 .val() 메서드를 사용하여 쉽게 호출 할 수 있습니다. – Technologeek

답변

0

당신의 JS 코드작은 오류가있다매개 변수로 vl이 있고 pf v1 값을 할당하고 있습니다. 이 있어야한다 :

function c1(vl) { 
    var msg = vl; 
    document.getElementById("t").value = "ddd" + msg; 
    document.getElementById("s").style.display = "none"; 
} 
관련 문제