2017-05-17 19 views
0

アクションにリンクされたフォームと、2つの送信ボタンがあります。最初のものは"aggiungiSocietà"です.hssページ(js関数addRow())にSocietyを追加し、アクションに挿入された値...もちろん、私は複数の社会を加えることができます。 2番目のページ"applicaFinal"は、ページに挿入されたすべての値を送信します。1つのフォームに2つの送信ボタンがある

私の問題は次のとおりです。最初のボタンに(Struts経由で)挿入された以前の値もすべて送信したいのですが、同じStrutsフォーム内にあっても実行できません。一方、"applicaFinal"は、挿入された社会に関連する値を送信せず、最後に挿入された値のみを送信します。 誰かがこの大きな問題を解決する方法を説明できますか?私のコードのロジックを変更するには、もしそれが誰かにとって意味をなさないのであれば、私は開いています。

(私がページに挿入するために20+のオプションとフィールドなし、の.jspコードの小さな部分を投稿します)

<s:form cssClass="form-validate-jquery" action="DichiarazioniAction" 
     id="DichiarazioniForm" name="DichiarazioniForm" 
     onsubmit="return addRow();"> 
<div class="form-group"> 
        <s:radio cssClass="styledRadios" name="optionsRadios4_06" 
         id="optionsRadios4_06" onclick="tab4_06chk00(this.value)" 
         list="#{'Si':'S&Iacute','No':'NO'}" required="required" /> 
       </div> 

       <!-- Table4_00 sez4 --> 
       <div id="tab4_00sez4" 
        <s:if test='optionsRadios4_06.equals("") || optionsRadios4_06.equals("No")'>style="display: none;"</s:if>> 
        <!-- Tabella --> 
        <br> 
        <table id="table" class="table datatable-basic"> 
         <tr> 
          <th>Denominazione</th> 
          <th>Sede</th> 
          <th>P.IVA</th> 
          <th>Codice Fiscale</th> 
          <th></th> 
         </tr> 

         <tbody id="tableInsert"> 
          <s:iterator value="listaSocietà" var="theSocietà" 
           status="status1"> 
           <s:set var="società-%{#status1.index}" value="theSocietà" 
            scope="session" /> 
           <tr> 
            <td><s:property value="denominazione" /></td> 
            <td><s:property value="sede" /></td> 
            <td><s:property value="partitaIVA" /></td> 
            <td><s:property value="codiceFiscale" /></td> 
            <td><div align="right"> 
              <div class="btn-group btn-group-xs"> 
               <s:submit type="button" name="eliminaSocietà" 
                id="eliminaSocietà" value="%{#status1.index}" 
                data-toggle="tooltip" title="Elimina" 
                cssClass="btn btn-default"> 
                <span class="glyphicon glyphicon-trash"></span> 
               </s:submit> 
              </div> 
             </div></td> 
           </tr> 
          </s:iterator> 
         </tbody> 
        </table> 
        <!-- Button trigger modal società controllate/collegate --> 
        <button type="button" class="btn btn-primary btn-lg" 
         data-toggle="modal" data-target="#myModalHorizontal">Inserisci 
         nuova societ&agrave</button> 
        <div id="prova"></div> 
        <br> <br> 
        <!-- Modal inserimento Società Controllate/Collegate --> 
        <div class="modal large" id="myModalHorizontal" tabindex="-1" 
         role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
         <div class="modal-dialog"> 
          <div class="modal-content"> 
           <!-- Modal Header --> 
           <div class="modal-header"> 
            <button type="button" class="close" data-dismiss="modal"> 
             <span aria-hidden="true">&times;</span> <span class="sr-only">Close</span> 
            </button> 
            <h4 class="modal-title" id="myModalLabel">Inserisci 
             Societ&agrave</h4> 
           </div> 

           <!-- Modal Body --> 
           <div class="modal-body"> 
            <div class="form-group"> 
             Denominazione: <span class="text-danger"> <b> * </b> </span> 
             <s:textfield name="tab4_04fld01" id="tab4_04fld01" 
              cssClass="form-control" 
              placeholder="Inserire qui la denominazione" /> 
             <div id="errorDenominazione" style="display: none;"> 
              <span class="text-danger">Campo obbligatorio</span> 
             </div> 
            </div> 
            <div class="row"> 
             <div class="col-sm-12"> 
              <div class="form-group"> 
               Sede: <span class="text-danger"> <b> * </b> </span> 
               <s:textfield name="tab4_04fld02" id="tab4_04fld02" 
                Class="form-control" placeholder="Inserire qui la sede" /> 
               <div id="errorSede" style="display: none;"> 
                <span class="text-danger">Campo obbligatorio</span> 
               </div> 
              </div> 
             </div> 
            </div> 

            <div class="row"> 
             <div class="col-sm-6"> 
              <div class="form-group"> 
               P.IVA: <span class="text-danger"> <b> * </b> </span> 
               <s:textfield name="tab4_04fld03" id="tab4_04fld03" 
                Class="form-control" 
                placeholder="Inserire qui la partita IVA" /> 
               <div id="errorP_IVA" style="display: none;"> 
                <span class="text-danger">Campo obbligatorio 
                 (Inserire 11 cifre)</span> 
               </div> 
               <div id="uniqueP_IVA" style="display: none;"> 
                <span class="text-danger">Partita IVA gi&agrave 
                 inserita</span> 
               </div> 
              </div> 
             </div> 
             <div class="col-sm-6"> 
              <div class="form-group"> 
               Codice Fiscale: <span class="text-danger"> <b> * 
               </b> </span> 
               <s:textfield name="tab4_04fld04" id="tab4_04fld04" 
                Class="form-control" 
                placeholder="Inserire qui il codice fiscale" /> 
               <div id="errorCF" style="display: none;"> 
                <span class="text-danger">Campo obbligatorio 
                 (Inserire un Codice Fiscale valido)</span> 
               </div> 
               <div id="uniqueCF" style="display: none;"> 
                <span class="text-danger">Codice Fiscale gi&agrave 
                 inserito</span> 
               </div> 
              </div> 
             </div> 
            </div> 
            <div class="btn-group"> 
             <div> 
              <div style="width: 100%;"> 
               <button type="submit" name="aggiungiSocietà" 
                id="aggiungiSocietà" value="aggiungiSocietà" 
                class="btn btn-danger btn-rounded" 
                style="float: left; background-color: #455A64; border-color: #455A64;" 
                onclick="addRow()"> 
                <i class="icon-pen-plus position-left"></i>Aggiungi 
               </button> 
              </div> 
             </div> 
            </div> 
           </div> 

          </div> 
         </div> 
        </div> 
        <!-- Tabella end--> 
       </div> 
<div class="row"> 
       <div class="col-sm-12"> 
        <div align="center" style="margin-top: 50px;"> 
         <!-- <button type="reset" class="btn btn-default" id="reset"> 
           Reset <i class="icon-reload-alt position-right"></i> 
          </button> --> 
         <button type="submit" name="applicaFinal" value="applicaFinal" 
          class="btn bg-romaCapitale"> 
          Applica <i class="icon-pen6 position-right"></i> 
         </button> 
        </div> 
       </div> 
      </div> 
</s:form> 
+0

2番目のボタンと同じ機能を実行しますか?最初のボタンを削除するだけです。 –

+0

@RomanC no。私はこれを望んでいます:「aggiungiSocietà」をクリックするたびに、私はちょうど挿入した社会の4つのフィールドをアクションに送りたいと思います...しかし同時に、このボタンはサブミットであり、ページをリフレッシュし、社会に関連していない以前のフィールド(例えば '' optionsRadios4_06 '')をすべて保存したい場合は、リフレッシュのためにこれらのフィールドは空白になり、ユーザーには義務があります – Enduavon

+0

は答えを –

答えて

0

リクエストセッションは、最後の提出のための永続的です。したがって、あなたは以前の提出の価値を失いますが、最新のものだけを保持します(実際にはあなたのケースで起こっています)。

ソリューション1

あなたにも「社会」の以前に提出された値を送信する場合、私はすべての「aggiungiSocietàは」を提出した後、あなたのテーブルの更新と一緒に「隠れた」入力を作成することをお勧めしたいです。現在挿入されているすべての行をリストするイテレータに以下を含めます。

<input type="hidden" name="varname%{status1.count}" value="varvalue"> 

この後、「applicaFinal」送信ボタンでも、以前に追加されたすべての行が送信されます。これは、これらの非表示の入力がこの[送信]ボタンにも表示されるためです。

ソリューション2

ユーザーが、それらを再度編集したテキスト入力の代わりに、隠された入力を使用したい場合があるため、「社会」のすべての以前に提出された値を送信する場合。これは

<input type="text" name="varname%{status1.count}" value="varvalue"> 

UPDATE、ユーザーが以前に送信されたデータを編集することができます

あなたが複数提出間で永続的であることを他のフィールドを希望する場合は、あなたがそれらを使用してJSPフォーム入力を初期化する必要があるだろう毎回提出された値。上記と同じコードを使用することができます(soln 2)

+0

私は解決策1を試してみます、答えをどうもありがとう!私は成功するかどうかを知らせます – Enduavon

関連する問題