2016-09-19 4 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を使用すると、コード全体を非常に簡単に書くことができます.3つの関数を書き込む代わりに、jqueryを使用して1つの関数を記述し、div idsとともに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"; 
} 
関連する問題