2016-10-07 1 views
1

私のフォームにドロップダウンメニューがあります。その中に「other」オプションを選択すると、内側のテキストボックスが表示されます。ドロップダウンからオプションを選択する代わりに、テキストを入力することをおすすめします。 ドロップダウンメニュー(input type = select)のパスを通して、ユーザーが入力した内部HTMLパス値(input type = text)をどうやって渡すことができますか?また、内部HTMLが呼び出されると、select入力を無効にする必要があります。インナーhtml入力タイプのパスと値をメイン入力タイプのパスに渡す方法<form>?

はここ

<form:select path="competitorName" name="competitorName" title="Choose a competitor" 
             onchange="$('#competitor_name').val($.trim($('#myCompetitorId option:selected').text()));showfield(this.options[this.selectedIndex].value)" 
             id="myCompetitorId"> 
             <option value=" ">Please select an competitor</option> 
             <c:forEach var="competitor" items="${competitors}"> 
              <option 
               value="<c:out value="${competitor.competitorName}"/>"> 
               <c:out value="${competitor.competitorName}" /> 
              </option> 

             </c:forEach> 
             <option value="Other">Other</option> 
            </form:select> 

私のjavascriptのコード

<script type="text/javascript"> 
function showfield(name){ 
    if(name=='Other')document.getElementById('div1').innerHTML='<font size="0">Name</font><input type="text" name="competitorName" path="competitorName"/>; 
    else document.getElementById('div1').innerHTML=''; 
} 
</script> 
+0

'onchange'イベントを使用します。ところで、「」タグは死んでいます。 CSSを使用してください。 – PHPglue

+0

@PHPglueどうすれば使えますか? –

+0

XMLとは何ですか? – PHPglue

答えて

0

私はそれが何であれ、あなたのXML、または知らない私のドロップダウンコードであるが、ここでは役立つかもしれない機能です。

//<![CDATA[ 
function selectToText(selectElement, textElement){ 
    selectElement.onchange = function(){ 
    if(textElement.value){ 
     textElement.value = this.value; 
    } 
    else{ 
     textElement.innerHTML = this.value; 
    } 
    } 
} 

var pre = onload, doc, bod, htm, E; 
onload = function(){ 
if(pre)pre(); 

doc = document, bod = doc.body, htm = doc.documentElement; 
E = function(id){ 
    return doc.getElementById(id); 
} 
selectToText(E('yourSelectId'), E('yourTextElementId')); 

} 
//]]> 

使用外部のJavaScript、あなたの<head>src属性で<script>タグを置きます。もちろん、E機能を使用する場合は、'yourSelectId''yourTextElementId'を適切なIDに変更する必要があります。

+0

私はどのように私のhtmlでこの関数を呼び出す必要がありますか? –

+0

あなたは私のポストの底を読んだことがありますか?クライアントサイドの機能を実行するには、HTMLの基本的な知識が必要です。 HTMLタグや構造をオンラインで簡単に検索することができます。 – PHPglue

関連する問題