2012-03-27 6 views
1

Я использую ниже function of javascript для включения или выключения radio buttons и textbox при изменении drop down изменений.
это нормально при запуске, но когда я нажимаю кнопку отправки, и если myindex = 8 or 9 на момент отправки, это не сработает.
На данный момент radio button filter[0] and filter[1] должен быть отключен, и textfield count должен быть включен. Я вызывал эту функцию во время выбора раскрывающегося списка и при нажатии кнопки отправки.
Я не знаю, почему он не работает. Любая помощь.Функция javascript не работает во второй раз

function OnChange(dropdown) { 
    var myindex = dropdown.selectedIndex; 

    document.form.filter[0].disabled = false; 
    document.form.filter[1].disabled = false; 

    if (myindex == 8) { 
     document.form.filter[0].disabled = true; 
     document.form.filter[1].disabled = true; 
     document.form.count.disabled = false; 
     document.form.submit.disabled = false; 
    } else if (myindex == 9) { 
     alert("in ALL"); 
     document.form.filter[0].disabled = true; 
     document.form.filter[1].disabled = true; 
     document.form.count.disabled = true; 
     document.form.submit.disabled = false; 

     alert(document.form.filter[0].disabled); 
    } 

    else { 
     document.form.filter[0].disabled = false; 
     document.form.filter[1].disabled = false; 
     document.form.count.disabled = true; 
     document.form.submit.disabled = false; 
    } 
} 

Вот мой HTML-код ниже.

<s:form action="crInquiry" name="form" > 
    <table align="center" width="1020"> 
     <tr> 
      <td>Batch Id : <s:property value="batchId" /> 
       <fieldset 
        style="background-color: #F7F9F3; margin: 2px; padding: 8px; -moz-border-radius: 5pt; border: 1px solid #A7CBE3;"> 
        <legend class="field_label"> 
         <strong>Inquiry Log Status</strong> 
        </legend> 
        <table border="0" id="main_table1" cellpadding="5" width="1010" 
         cellspacing="5" align="center"> 
         <tr style="height: 5px;"> 
          <td width="300" height="2" align="left" colspan="0"><s:hidden 
            name="batchId" id="batchId" 
            onfocus="OnChange((this.form.filterValue));" 
            value="%{ batchId }"></s:hidden> <s:select 
            cssClass="bulkSelect" name="filterValue" 
            label="Search Criteria" required="true" theme="css_xhtml" 
            labelposition="bottom" tabindex="2" list="headerList" 
            onchange="OnChange(this.form.filterValue);" /> 
          </td> 


          <td width="180"><s:radio name="filter" 
            requiredposition="right" 
            list="#{'STATUS_FILTER_START':'START','STATUS_FILTER_END':'END'}" 
            label="Stage" labelposition="right" theme="css_xhtml" 
            tabindex="9" labelposition="bottom"></s:radio> 
          </td> 
          <td width="50" height="2"><s:textfield disabled="true" 
            value="0" name="count" size="2" labelposition="1" 
            theme="css_xhtml"></s:textfield> 
          </td> 
          <td width="180"><s:radio name="order" 
            requiredposition="right" list="#{'ASC':'ASC','DESC':'DESC'}" 
            label="Order" labelposition="right" theme="css_xhtml" 
            tabindex="9" labelposition="bottom"></s:radio> 
          </td> 
          </td> 


          <td width="50"><s:submit theme="css_xhtml" value="Filter" 
            align="left" onclick="gotopage('FilteredInquiryLog');"></s:submit> 
          </td> 
          <td width="59"><s:submit theme="css_xhtml" value="Details" 
            onclick="gotopage('crInquiry')"></s:submit></td> 

         </tr> 


        </table> 
       </fieldset> 
      </td> 
     </tr> 

    </table> 
</s:form> 

и из отправить мне вызвать функцию JS, откуда его называют приведенной выше функции Js

function gotopage(actionname) { 
     document.form.action = actionname + ".action"; 
     document.form.submit(); 
     OnChange(document.form.filterValue); 

    } 
+1

Просьба показать соответствующий HTML-код и показать код, вызывающий эту функцию из операции отправки. – jfriend00

+0

@Nivesh: как вы думаете, что это достаточно информации для кого-то, кто сможет вам помочь? – bernie

+0

@bernie Извините, я только что добавил связанный код –

ответ

0

Это кажется странным, что вы бы отправить форму, а затем пытаются манипулировать поля ...

function gotopage(actionname) { 
     document.form.action = actionname + ".action"; 
     document.form.submit(); 
     OnChange(document.form.filterValue); 

    } 

возможно, что вам нужно:

function gotopage(actionname) { 
     OnChange(document.form.filterValue); 

     document.form.action = actionname + ".action"; 
     document.form.submit(); 
    } 
Смежные вопросы