簡體   English   中英

其他選項-如何設置值?

[英]Other option - how to set the value?

1. Member Account Number<span class="bodyCopy"><font color="#ff0000"> * </font></span>: 
<html:select name="reDataForm" property="member.accountNumber" styleClass="formContent"
        style="width:80px" onchange="showfield(this.options[this.selectedIndex].value)">
<html:options collection="<%= WorkConstants.Dropdowns.PACCT %>" property="value"
            labelProperty="label" styleClass="formContent"/>
</html:select>

<div id="div1"></div>

功能如下:

<script type="text/javascript">
    function showfield(name){
        if(name=='Other')
            document.getElementById('div1').innerHTML='<html:text name="reDataForm" property="member.accountNumber" styleClass="formContent"  maxlength="9" size="9"/>';
        else
            document.getElementById('div1').innerHTML='';
    }
</script>

問題是:如果我選擇選項“其他”,則下面的文本將按設計出現。 但是未設置值member.accountNumber。 我可以看到帳號為“其他”。 而不是我在文本框中輸入的值。 為什么呢? 以及如何設置呢?

您對客戶端和服務器端代碼感到困惑。 Struts標記<html:text>在服務器端呈現。 在您的情況下,您正在嘗試將該自定義標簽放在客戶端(JavaScript)上。 Javascript基本上會顯示HTML行,並且您的瀏覽器無法解釋<html:text>是什么,因為這是服務器端的自定義標簽。

更新

您需要做的是將文本放置為隱藏字段,以便Struts可以呈現自定義標簽和bean值:

<html:hidden styleId="accountNumber" name="reDataForm" property="member.accountNumber"/>

然后,在Javascript中,您想要從隱藏字段中獲取值並將其設置為div1 :-

<script type="text/javascript">
    function showfield(name){
        if(name=='Other')
            document.getElementById('div1').innerHTML= document.getElementById('accountNumber').value;
        else
            document.getElementById('div1').innerHTML='';
    }
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM