Update of /var/cvs/contributions/natmm/templates/natmm/includes/form
In directory james.mmbase.org:/tmp/cvs-serv21990/templates/natmm/includes/form

Modified Files:
        result.jsp table.jsp 
Log Message:
NMCMS-399


See also: 
http://cvs.mmbase.org/viewcvs/contributions/natmm/templates/natmm/includes/form
See also: http://www.mmbase.org/jira/browse/NMCMS-399


Index: result.jsp
===================================================================
RCS file: 
/var/cvs/contributions/natmm/templates/natmm/includes/form/result.jsp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- result.jsp  5 May 2008 11:49:41 -0000       1.18
+++ result.jsp  22 May 2008 09:42:03 -0000      1.19
@@ -37,6 +37,7 @@
    Vector okMessage = new Vector();
    Vector emailAddress = new Vector();
    Vector formResponse = new Vector();
+   String thisFormNumber = "";
 
    boolean isValidAnswer = true;
 
@@ -58,7 +59,7 @@
    <mm:related path="posrel,formulier" orderby="posrel.pos" directions="UP">
       <mm:node element="formulier" jspvar="thisForm">
          <%
-            String thisFormNumber = thisForm.getStringValue("number");
+            thisFormNumber = thisForm.getStringValue("number");
             if(!thisForm.getStringValue("titel_fra").equals("")) { 
                okTitle.add(thisForm.getStringValue("titel_fra"));
             } else {
@@ -114,6 +115,9 @@
                if(formulierveld_type.equals("6")) { // *** date ***
 
                   String answerValue = getResponseVal("q" + thisFormNumber + 
"_" + formulierveld_number + "_day",postingStr);
+                  // save in session
+                  session.setAttribute("q" + thisFormNumber + "_" + 
formulierveld_number + "_day", answerValue);
+               
                   if(answerValue==null) { answerValue = ""; }
                   if(answerValue.equals("")) {
                      responseText += noAnswer;
@@ -125,6 +129,9 @@
                      responseText += answerValue;
                   }
                   answerValue = getResponseVal("q" + thisFormNumber + "_" + 
formulierveld_number + "_month",postingStr);
+                  // save in session
+                  session.setAttribute("q" + thisFormNumber + "_" + 
formulierveld_number + "_month", answerValue);
+                  
                   if(answerValue==null) { answerValue = ""; }
                   if(answerValue.equals("")) {
                      responseText += ", " + noAnswer;
@@ -136,6 +143,9 @@
                      responseText +=  "-" + answerValue;
                   }
                   answerValue = getResponseVal("q" + thisFormNumber + "_" + 
formulierveld_number + "_year",postingStr);
+                  // save in session
+                  session.setAttribute("q" + thisFormNumber + "_" + 
formulierveld_number + "_year", answerValue);                  
+                  
                   if(answerValue==null) { answerValue = ""; }
                   if(answerValue.equals("")) {
                      responseText +=  ", " + noAnswer;
@@ -152,6 +162,9 @@
                   %><mm:related path="posrel,formulierveldantwoord" 
orderby="posrel.pos" directions="UP"
                   ><mm:field name="formulierveldantwoord.number" 
jspvar="formulierveldantwoord_number" vartype="String" write="false"><%   
                         String answerValue = getResponseVal("q" + 
thisFormNumber + "_" + formulierveld_number + "_" + 
formulierveldantwoord_number,postingStr);
+                        // save in session
+                        session.setAttribute("q" + thisFormNumber + "_" + 
formulierveld_number + "_" + formulierveldantwoord_number, answerValue);    
+                  
                         if(answerValue==null) { answerValue = ""; }
                         if(!answerValue.equals("")) {
                            if (hasSelected){
@@ -163,6 +176,9 @@
                      %></mm:field
                   ></mm:related><%
                   String answer_else_Value = getResponseVal("q" + 
thisFormNumber + "_" + formulierveld_number + "_else",postingStr);
+                  // save in session
+                  session.setAttribute("q" + thisFormNumber + "_" + 
formulierveld_number + "_else", answer_else_Value);      
+                  
                   if(answer_else_Value==null) { answer_else_Value = ""; }
                   if (!answer_else_Value.equals("")){
                      if (hasSelected){
@@ -181,6 +197,9 @@
 
                } else { // *** textarea, textline, dropdown, radio buttons ***
                   String answerValue = getResponseVal("q" + thisFormNumber + 
"_" + formulierveld_number,postingStr);
+                  // save in session
+                  session.setAttribute("q" + thisFormNumber + "_" + 
formulierveld_number, answerValue); 
+               
                   if(answerValue==null) { answerValue = ""; }
                   if(answerValue.equals("")) {
                      responseText += noAnswer;
@@ -206,6 +225,14 @@
 <%
 if(isValidAnswer)
 {  
+   // remove form values from the session because the form will be send
+   java.util.Enumeration e = session.getAttributeNames();
+   
+   while (e.hasMoreElements()){
+      String sessionAttrName = (String) e.nextElement();
+      if (sessionAttrName.startsWith("q" + thisFormNumber)) 
session.removeAttribute(sessionAttrName);
+   }
+   
    String formMessage = "";
    String formMessageHref = "index.jsp";
    if(sRubriekLayout.equals("" + NatMMConfig.DEMO_LAYOUT)) {


Index: table.jsp
===================================================================
RCS file: /var/cvs/contributions/natmm/templates/natmm/includes/form/table.jsp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- table.jsp   26 May 2006 09:22:17 -0000      1.6
+++ table.jsp   22 May 2008 09:42:03 -0000      1.7
@@ -27,6 +27,12 @@
               ><mm:node element="formulierveld" jspvar="thisFormField"><%
               String formulierveld_number = 
thisFormField.getStringValue("number");
               String formulierveld_label = 
thisFormField.getStringValue("label");
+              
+              String formulierveldLastValue = null;
+              String formulierveldLastValueDay = null;
+              String formulierveldLastValueMonth = null;
+              String formulierveldLastValueYear = null;
+
               if(!thisFormField.getStringValue("label_fra").equals("")) {
                  formulierveld_label = 
thisFormField.getStringValue("label_fra");
               }
@@ -94,6 +100,11 @@
                 
                  // **** dropdown ****
                  if(formulierveld_type.equals("3")) {
+
+                    String dropdownWaarde = "";
+                    formulierveldLastValue = (String) session.getAttribute("q" 
+ thisFormNumber + "_" + formulierveld_number);
+                    if (formulierveldLastValue == null) formulierveldLastValue 
= "";                    
+                    
                  %>
                     <td class="maincolor" 
style="width:177px;padding:5px;line-height:0.90em;"><%= formulierveld_label 
%>&nbsp;<% if(isRequired) { %>*&nbsp;<% } %></td>
                     <td class="maincolor" 
style="width:177px;padding:0px;vertical-align:top;">
@@ -101,18 +112,24 @@
                           <option>...
                           <mm:related path="posrel,formulierveldantwoord" 
orderby="posrel.pos" directions="UP">
                              <option value="<mm:field 
name="formulierveldantwoord.waarde" />"
+
+                                <mm:field name="formulierveldantwoord.waarde" 
jspvar="waarde" vartype="String" write="false">
+                                    <% dropdownWaarde = (waarde!=null ? 
waarde.substring(0,1).toUpperCase()+waarde.substring(1) : ""); %>
+                                </mm:field>
+                             
                                 <mm:field 
name="formulierveldantwoord.standaard" jspvar="defaultValue" vartype="Integer">
                                    <%
                                       if((!bDefaultIsSet) && 
(defaultValue.intValue() != 0))
                                       {
                                          %>selected="selected"<%
                                          bDefaultIsSet = true;
+                                      } else if 
(formulierveldLastValue.toLowerCase().equals(dropdownWaarde.toLowerCase())){
+                                         
+                                         %>selected="selected"<%
                                       }
                                    %>
                                 </mm:field>
-                                ><mm:field name="formulierveldantwoord.waarde" 
jspvar="waarde" vartype="String" write="false">
-                                    <%= (waarde!=null ? 
waarde.substring(0,1).toUpperCase()+waarde.substring(1) : "") %>
-                                </mm:field>
+                                ><%=dropdownWaarde %>
                              </option>
                           </mm:related>
                        </select></td>
@@ -121,52 +138,78 @@
 
               // *** textline ***
               if(formulierveld_type.equals("2")) {
+                 
+                 formulierveldLastValue = (String) session.getAttribute("q" + 
thisFormNumber + "_" + formulierveld_number);
+                 if (formulierveldLastValue == null) formulierveldLastValue = 
"";
+                 
                  %>
                     <td class="maincolor" 
style="width:177px;padding:5px;line-height:0.85em;"><%=
                          formulierveld_label %>&nbsp;<% if(isRequired) { 
%>*&nbsp;<% } %></td>
                     <td class="maincolor" 
style="width:177px;padding:0px;padding-right:1px;vertical-align:top;<% 
if(!isIE) { %>padding-top:1px;<% } %>">
-                       <input type="text" name="q<%= thisFormNumber %>_<%= 
formulierveld_number %>" style="width:100%;border:0;" onkeypress="return 
handleEnter(this, event)">
+                       <input type="text" name="q<%= thisFormNumber %>_<%= 
formulierveld_number %>" style="width:100%;border:0;" onkeypress="return 
handleEnter(this, event)" value="<%=formulierveldLastValue%>">
                     </td>
                  <%
               }
               
               // *** textarea ***
               if(formulierveld_type.equals("1")) {
+                 
+                 formulierveldLastValue = (String) session.getAttribute("q" + 
thisFormNumber + "_" + formulierveld_number);
+                 if (formulierveldLastValue == null) formulierveldLastValue = 
"";                 
+                 
                  %>
                     <td colspan="2" class="maincolor" 
style="padding:5px;line-height:0.90em;"><%=
                          formulierveld_label %>&nbsp;<% if(isRequired) { 
%>*&nbsp;<% } 
                      %></td>
                     </tr>
                     <tr>
-                    <td colspan="2" class="maincolor" style="<% if(!isIE) { 
%>padding-right:2px;<% } %>"><textarea rows="4" name="q<%= thisFormNumber 
%>_<%= formulierveld_number %>" wrap="physical" 
style="width:100%;margin-left:1px;margin-right:1px;border:0;"></textarea></td>
+                    <td colspan="2" class="maincolor" style="<% if(!isIE) { 
%>padding-right:2px;<% } %>"><textarea rows="4" name="q<%= thisFormNumber 
%>_<%= formulierveld_number %>" wrap="physical" 
style="width:100%;margin-left:1px;margin-right:1px;border:0;"><%=formulierveldLastValue%></textarea></td>
                  <%
               }
   
               // *** date ***
               if(formulierveld_type.equals("6")) { // *** create input fields 
for day, month and year
+                 
+                 formulierveldLastValueDay = (String) session.getAttribute("q" 
+ thisFormNumber + "_" + formulierveld_number + "_day");
+                 formulierveldLastValueMonth = (String) 
session.getAttribute("q" + thisFormNumber + "_" + formulierveld_number + 
"_month");
+                 formulierveldLastValueYear = (String) 
session.getAttribute("q" + thisFormNumber + "_" + formulierveld_number + 
"_year");
+                 
+                 if (formulierveldLastValueDay == null) 
formulierveldLastValueDay = "";
+                 if (formulierveldLastValueMonth == null) 
formulierveldLastValueMonth = "";    
+                 if (formulierveldLastValueYear == null) 
formulierveldLastValueYear = "";    
+                 
                   %>
                   <td class="maincolor" 
style="width:177px;padding:5px;line-height:0.80em;">
                      <%= formulierveld_label %>&nbsp;<% if(isRequired) { 
%>*&nbsp;<% } %>
                   </td>
                   <td class="maincolor" 
style="width:177px;padding:0px;padding-right:1px;vertical-align:top;text-align:right;<%
 if(!isIE) { %>padding-top:1px;<% } %>"><%
-                     %><input type="text" name="q<%= thisFormNumber %>_<%= 
formulierveld_number %>_day" style="width:43px;border:0;" onkeypress="return 
handleEnter(this, event)"><%
+                     %><input type="text" name="q<%= thisFormNumber %>_<%= 
formulierveld_number %>_day" style="width:43px;border:0;" onkeypress="return 
handleEnter(this, event)" value="<%=formulierveldLastValueDay%>"><%
                      %><select name="q<%= thisFormNumber %>_<%= 
formulierveld_number %>_month" style="width:89px;font-size:9px;">
                        <option value="">...<%
-                       for(int m = 0; m < 12; m++) { %><option value="<%= 
months_lcase[m] %>"><%= months_lcase[m] %><% }
-                       %></select><%
-                     %><input type="text" name="q<%= thisFormNumber %>_<%= 
formulierveld_number %>_year" style="width:43px;border:0;" onkeypress="return 
handleEnter(this, event)"><%
+                       for(int m = 0; m < 12; m++) { 
+                       %>
+                           <option value="<%= months_lcase[m] %>" <% 
+                              
+                              if 
(formulierveldLastValueMonth.toLowerCase().equals(months_lcase[m])) 
{%><%="selected='selected'"%><%}
+                           
+                           %>><%= months_lcase[m] %><% } %></select><%
+                     %><input type="text" name="q<%= thisFormNumber %>_<%= 
formulierveld_number %>_year" style="width:43px;border:0;" onkeypress="return 
handleEnter(this, event)" value="<%=formulierveldLastValueYear%>"><%
                   %></td>
                  <%
               }
               
                                  if (formulierveld_else.equals("1")) { 
+                 
+                 formulierveldLastValue = (String) session.getAttribute("q" + 
thisFormNumber + "_" + formulierveld_number + "_else");
+                 if (formulierveldLastValue == null) formulierveldLastValue = 
"";                              
+                 
                                                 %>
                                                </tr>
                                                <tr>
                                                        <td class="maincolor" 
style="width:177px;padding:5px;line-height:0.80em;" colspan="2">Anders 
&hellip;</td>
                                                </tr>
                                      <tr>
-                    <td colspan="2" class="maincolor" style="<% if(!isIE) { 
%>padding-right:2px;<% } %>"><textarea rows="4" name="q<%= thisFormNumber 
%>_<%= formulierveld_number %>_else" wrap="physical" 
style="width:100%;margin-left:1px;margin-right:1px;border:0;"></textarea></td>
+                    <td colspan="2" class="maincolor" style="<% if(!isIE) { 
%>padding-right:2px;<% } %>"><textarea rows="4" name="q<%= thisFormNumber 
%>_<%= formulierveld_number %>_else" wrap="physical" 
style="width:100%;margin-left:1px;margin-right:1px;border:0;"><%=formulierveldLastValue%></textarea></td>
                                  <% } %>
               </tr>     
                                  
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to