Author: wesw
Date: Mon Mar  9 20:59:33 2009
New Revision: 751829

URL: http://svn.apache.org/viewvc?rev=751829&view=rev
Log:
finishing up with simple theme

Added:
    
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/FormWithResetGetReqAjaxRespSimpleTheme
Modified:
    
struts/sandbox/trunk/s2-jquery-showcase/src/main/webapp/WEB-INF/content/simple-theme/FormWithResetPostReqAjaxResp-input.jsp
    
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/s2-jquery-plugin-selenium-tests

Modified: 
struts/sandbox/trunk/s2-jquery-showcase/src/main/webapp/WEB-INF/content/simple-theme/FormWithResetPostReqAjaxResp-input.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/s2-jquery-showcase/src/main/webapp/WEB-INF/content/simple-theme/FormWithResetPostReqAjaxResp-input.jsp?rev=751829&r1=751828&r2=751829&view=diff
==============================================================================
--- 
struts/sandbox/trunk/s2-jquery-showcase/src/main/webapp/WEB-INF/content/simple-theme/FormWithResetPostReqAjaxResp-input.jsp
 (original)
+++ 
struts/sandbox/trunk/s2-jquery-showcase/src/main/webapp/WEB-INF/content/simple-theme/FormWithResetPostReqAjaxResp-input.jsp
 Mon Mar  9 20:59:33 2009
@@ -5,20 +5,49 @@
 <title>Hello World!</title>
 <sjx:head />
     <script type="text/javascript">
-        function handleAjaxResponse(data, textStatus) {
-            $("#messages").append(data + "<br />\n");
+        function handleAjaxResponse(responseText, textStatus) {
+
+            //clear previous validation errors, if any
+            $("#errors").empty();
+
+            //get errors from response
+            var errorsObject = 
StrutsJQueryUtils.getValidationErrors(responseText);
+
+            //show errors, if any
+            if (errorsObject && errorsObject.fieldErrors) {
+                for (var fieldName in errorsObject.fieldErrors) {
+                    for (var i = 0; i < 
errorsObject.fieldErrors[fieldName].length; i++) {
+                        $("#errors").html(
+                             $("#errors").html() + "<br/>" + 
errorsObject.fieldErrors[fieldName][i]
+                                );
+                    }
+                }
+            }
+            else {
+                var formData = StrutsJQueryUtils.keyValueizeForm("indexForm");
+                formData["struts.enableJSONValidation"] = false;
+                
$.post("/s2-jquery-showcase/simple-theme/SimpleFormPostAjaxResponse", formData, 
handleFormCb);
+            }
+        }
+
+        function handleFormCb(responseText, textStatus) {
+            $("#messages").append(responseText + "<br />\n");
         }
     </script>
 </head>
 <body>
 <sjx:form theme="jquery-simple" id="indexForm" method="post" validate="true"
-          namespace="/form"
-          action="FormWithResetPostReqAjaxResp"
+          namespace="/form" action="FormWithResetPostReqAjaxResp"
           ajaxResult="true" ajaxResultHandler="handleAjaxResponse" >
+
+    <input type="hidden" id="struts.enableJSONValidation" 
name="struts.enableJSONValidation" value="true" />
+    
 <sjx:textfield key="msg" />
 <sjx:submit />
-<sjx:reset />
+<%-- TODO what is the point of a reset button in an AJAX form if you don't use 
onreset= ? --%>
+<sjx:reset onclick="$('#errors').empty();" />
 </sjx:form>
 <div id="messages"></div>
+<div id="errors" style="color:red"></div>
 </body>
 </html>

Added: 
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/FormWithResetGetReqAjaxRespSimpleTheme
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/FormWithResetGetReqAjaxRespSimpleTheme?rev=751829&view=auto
==============================================================================
--- 
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/FormWithResetGetReqAjaxRespSimpleTheme
 (added)
+++ 
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/FormWithResetGetReqAjaxRespSimpleTheme
 Mon Mar  9 20:59:33 2009
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case";>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>FormWithResetGetReqAjaxRespSimpleTheme</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" 
colspan="3">FormWithResetGetReqAjaxRespSimpleTheme</td></tr>
+</thead><tbody>
+<tr>
+       <td>open</td>
+       
<td>/s2-jquery-showcase/simple-theme/FormWithResetPostReqAjaxResp-input</td>
+       <td></td>
+</tr>
+<tr>
+       <td>click</td>
+       <td>indexForm_0</td>
+       <td></td>
+</tr>
+<tr>
+       <td>pause</td>
+       <td>500</td>
+       <td></td>
+</tr>
+<tr>
+       <td>verifyTextPresent</td>
+       <td>You must enter a message.</td>
+       <td></td>
+</tr>
+<tr>
+       <td>type</td>
+       <td>indexForm_msg</td>
+       <td>a message</td>
+</tr>
+<tr>
+       <td>click</td>
+       <td>indexForm_0</td>
+       <td></td>
+</tr>
+<tr>
+       <td>pause</td>
+       <td>500</td>
+       <td></td>
+</tr>
+<tr>
+       <td>verifyTextPresent</td>
+       <td>a message</td>
+       <td></td>
+</tr>
+<tr>
+       <td>click</td>
+       <td>//inp...@value='Reset']</td>
+       <td></td>
+</tr>
+<tr>
+       <td>pause</td>
+       <td>500</td>
+       <td></td>
+</tr>
+<tr>
+       <td>verifyTextNotPresent</td>
+       <td>You must enter a message</td>
+       <td></td>
+</tr>
+<tr>
+       <td>type</td>
+       <td>indexForm_msg</td>
+       <td>another message</td>
+</tr>
+<tr>
+       <td>click</td>
+       <td>indexForm_0</td>
+       <td></td>
+</tr>
+<tr>
+       <td>pause</td>
+       <td>500</td>
+       <td></td>
+</tr>
+<tr>
+       <td>verifyTextPresent</td>
+       <td>another message</td>
+       <td></td>
+</tr>
+<tr>
+       <td>click</td>
+       <td>//inp...@value='Reset']</td>
+       <td></td>
+</tr>
+<tr>
+       <td>click</td>
+       <td>indexForm_0</td>
+       <td></td>
+</tr>
+<tr>
+       <td>pause</td>
+       <td>500</td>
+       <td></td>
+</tr>
+<tr>
+       <td>verifyTextPresent</td>
+       <td>You must enter a message.</td>
+       <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>

Modified: 
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/s2-jquery-plugin-selenium-tests
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/s2-jquery-plugin-selenium-tests?rev=751829&r1=751828&r2=751829&view=diff
==============================================================================
--- 
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/s2-jquery-plugin-selenium-tests
 (original)
+++ 
struts/sandbox/trunk/s2-jquery-showcase/src/test/resources/selenium/s2-jquery-plugin-selenium-tests
 Mon Mar  9 20:59:33 2009
@@ -14,6 +14,9 @@
 <tr><td><a 
href="SimpleFormGetAjaxResponse">SimpleFormGetAjaxResponse</a></td></tr>
 <tr><td><a 
href="FormWithResetGetReqAjaxResp">FormWithResetGetReqAjaxResp</a></td></tr>
 <tr><td><a 
href="FormWithResetPostReqAjaxResp">FormWithResetPostReqAjaxResp</a></td></tr>
+<tr><td><a 
href="FormPostNonAjaxResponseSimpleTheme">FormPostNonAjaxResponseSimpleTheme</a></td></tr>
+<tr><td><a 
href="FormPostAjaxResponseSimpleTheme">FormPostAjaxResponseSimpleTheme</a></td></tr>
+<tr><td><a 
href="FormWithResetGetReqAjaxRespSimpleTheme">FormWithResetGetReqAjaxRespSimpleTheme</a></td></tr>
 </tbody></table>
 </body>
 </html>


Reply via email to