Другой вариант - как установить значение? - PullRequest
0 голосов
/ 13 февраля 2011
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 не установлено в нем. Я могу видеть номер счета как «Другой». не значение, которое я ввел в текстовое поле. Зачем ? и как мне установить это?

1 Ответ

3 голосов
/ 13 февраля 2011

Вы путаетесь с кодом на стороне клиента и на стороне сервера.Тег 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...