2013-05-03 49 views
2

我有以下形式:如何設置S:隱藏值從另一個JSP元素

<s:form id="storno_form" 
    namespace="namespace" 
    action="action"> 

    <sj:submit id="submitId" 
     key="btn.show" targets="cancelation_content" 
     cssClass="button" validate="true"> 
    </sj:submit> 
</s:form> 

和形式外是:

<sj:select 
    href="%{getUrl}" 
    id="selectCampaign" 
    autocomplete="true" 
    selectBoxIcon="true" 
    key="select.campaign" 
    name="campaignId" 
    list="campaigns" 
    listKey="id" 
    listValue="name" 
    headerKey="-1" 
    headerValue="%{getText('select.headerValue')}" 
    onSelectTopics="realod" 
    onCompleteTopics="customizeAutoCompleter" 
/> 

如何提交選擇元素的值與形式: 我曾嘗試過:

<s:form id="storno_form" 
    namespace="namespace" 
    action="action"> 
    <s:hidden value="%{'campaignId'}" name="campaignId" /> 
    <sj:submit id="submitId" 
     key="btn.show" targets="cancelation_content" 
     cssClass="button" validate="true"> 
    </sj:submit> 
</s:form> 

但它不工作?

+2

我真的不看整個事情,但考慮到它與你意識到表達%{「CAMPAIGNID」}隱藏價值的問題將始終評估爲「CAMPAIGNID 」。不帶引號的campaignId將會看到動作,並且帶有單引號的多個字符將評估爲一個字符串(單個字符轉換爲字符,然後當然輸出中的所有內容都會變成一個字符串)。 – Quaternion 2013-05-03 19:19:21

回答

3

爲此,您可以使用JavaScript

onchange="var el=document.getElementById('selectCampaign');document.getElementById('storno_form')['campaignId'].value=el.options[el.selectedIndex].value;" 

一樣,你可以做onclick事件<sj:submit標籤。

與jQuery那就更簡單了

$(document).ready(function() { 
    $('#selectCampagn').change(function() { 
    var val = $('#selectCampagn').val(); 
    $('input[name=campaignId]').val(val); 
    }); 
}); 
+0

感謝這個作品 – kozla13 2013-05-06 10:14:10

相關問題