2012-09-05 3 views
0

Spring WebFlow2 JavaScript가 페이지를 제출하지 않으십니까?Spring WebFlow2 JavaScript가 페이지를 제출하지 않으십니까?

사용자가 라디오 버튼 중 하나를 클릭하면 전환 값으로 내 페이지를 제출하기 위해 WebFlow2와 함께 제공되는 Spring JavaScript를 사용하려고합니다. 내 자바 스크립트를 삽입했지만 페이지가 클릭에 제출되지 않습니다?

JSP :

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> 
<html> 
<head> 
<title>Spring 3.0 MVC - Web Flow Example</title> 

<script type="text/javascript" 
    src="<c:url value="/resources/dojo/dojo.js" />"> 

</script> 
<script type="text/javascript" 
    src="<c:url value="/resources/spring/Spring.js" />"> 

</script> 
<script type="text/javascript" 
    src="<c:url value="/resources/spring/Spring-Dojo.js" />"> 

</script> 

<link type="text/css" rel="stylesheet" 
    href="<c:url value="/resources/dijit/themes/tundra/tundra.css" />" /> 
</head> 
<body> 
    <h2>Customer Registration</h2> 

    <form:form commandName="customer" id="customer"> 
     <input type="hidden" name="_flowExecutionKey" 
      value="${flowExecutionKey}" /> 
     <table> 
      <tr> 
       <td><font color=red><form:errors path="name" /></font><b>Name: 
       </b></td> 
       <td><form:input path="name" id="name" /> <script 
         type="text/javascript"> 
        Spring 
          .addDecoration(new Spring.ElementDecoration(
            { 
             elementId : "name", 
             widgetType : "dijit.form.ValidationTextBox", 
             widgetAttrs : { 
              promptMessage : "This is the name you would like entered into the system." 
             } 
            })); 
       </script> <br /> 
        <p></td> 
      </tr> 
      <tr> 
       <td><font color=red><form:errors path="phoneNumber" /></font> 

        <b>Phone number: </b></td> 
       <td><form:input path="phoneNumber" id="phoneNumber" /><br /> 
        <script type="text/javascript"> 
         Spring 
           .addDecoration(new Spring.ElementDecoration(
             { 
              elementId : "phoneNumber", 
              widgetType : "dijit.form.ValidationTextBox", 
              widgetAttrs : { 
               promptMessage : "This is the phone number for the above name" 
              } 
             })); 
        </script></td> 
      </tr> 
      <tr> 
       <td></td> 
      </tr> 
      <tr> 
       <td><b>Row:</b></td> 
       <td><form:radiobutton value="B" path="row" id="row" />Row: B<BR> 
        <form:radiobutton value="A" path="row" id="row" />Row: A<BR> 
        <script type="text/javascript"> 
         Spring.addDecoration(new Spring.AjaxEventDecoration({ 
          elementId : "row", 
          formId : "customer", 
          event : "onChange", 
          params : { 
           _eventId : "loadSchools", 
           fragments : "body" 
          } 
         })); 
        </script></td> 
      </tr> 
     </table> 
     <input type="submit" name="_eventId_proceed" value="proceed" 
      id="proceed" /> 
     <script type="text/javascript"> 
      Spring.addDecoration(new Spring.ValidateAllDecoration({ 
       elementId : 'proceed', 
       event : 'onclick' 
      })); 
     </script> 
     <input type="submit" name="_eventId_cancel" value="Cancel" /> 
    </form:form> 

</body> 
</html> 

답변

0

, 그것을 radiobutton 대신에 select가 있지만 같은 생각입니다. 당신은 자동으로 양식을 제출 값을 선택하고 값을 업데이트 할 때 :

<form:form commandName="dateRange"> 
... 
    <select name="fyForDR" id="fyForDR" class='discretFont' style='margin-left:10px;margin-right:10px;'> 
      <option value="" selected='selected'>Fiscal Year</option> 
      <option value="2011" <c:if test="${fyForDR == '2011'}">selected="selected"</c:if> >FY11</option> 
      <option value="2010" <c:if test="${fyForDR == '2010'}">selected="selected"</c:if> >FY10</option> 
      <option value="2009" <c:if test="${fyForDR == '2009'}">selected="selected"</c:if> >FY09</option> 
      <option value="2008" <c:if test="${fyForDR == '2008'}">selected="selected"</c:if> >FY08</option> 
      <option value="2007" <c:if test="${fyForDR == '2007'}">selected="selected"</c:if> >FY07</option> 
      <option value="2006" <c:if test="${fyForDR == '2006'}">selected="selected"</c:if> >FY06</option> 
     </select> 
     <script type="text/javascript"> 
      Spring.addDecoration(new Spring.AjaxEventDecoration({ 
       elementId: "fyForDR", 
       event: "onchange", 
       formId:"dateRange", 
       params: {fragments:"body", _eventId: "setFy"} 
      })); 
     </script> 
... 
</form:form> 

을 여기에 플로우 정의의 일부입니다

는 는
<view-state id="dateRangeForm" model="dateRange"> 
... 
    <transition on="setFy" validate="false" > 
       <set name="viewScope.fyForDR" value="requestParameters.fyForDR"/> 
       <evaluate expression="dateRange.setStartDate(dateRangeService.getFyStartDate(viewScope.fyForDR))"></evaluate> 
       <evaluate expression="dateRange.setEndDate(dateRangeService.getFyEndDate(viewScope.fyForDR))"></evaluate> 
    </transition> 
... 
</view-state> 
+0

덕분에 작동하지 않았다 그러나 나는 라디오를 사용하고 있습니다 버튼을 클릭하고 첫 번째 라디오 버튼 – PartyWithJohn

+0

의 첫 번째 클릭 만 작동하는 것처럼 보입니다. 작동합니까? 당신은 onchange와 onclick을 모두 넣었습니까? 그리고 둘 다 장식 했나요? – rptmat57

+0

NOOOO NOT WORKING .... 나는 onchange와 onclick을 둘 다 넣었고 첫 번째 라디오 버튼을 클릭하면 작동합니다 .... – PartyWithJohn

0

시도는 다음과 같이 각 행에 대해 서로 다른 ID를 넣어 :이 (양식이 제출됩니다) 노력하고 있습니다 내 코드의 일부이다

<td><form:radiobutton value="B" path="row" id="rowB" />Row: B<BR> 
     <form:radiobutton value="A" path="row" id="rowA" />Row: A<BR> 
     <script type="text/javascript"> 
       Spring.addDecoration(new Spring.AjaxEventDecoration({ 
        elementId : "rowA", 
        formId : "customer", 
        event : "onChange", 
        params : { 
         _eventId : "loadSchools", 
         fragments : "body" 
         } 
       })); 
       Spring.addDecoration(new Spring.AjaxEventDecoration({ 
        elementId : "rowB", 
        formId : "customer", 
        event : "onChange", 
        params : { 
         _eventId : "loadSchools", 
         fragments : "body" 
         } 
       })); 
     </script></td> 
+0

은 ... – PartyWithJohn

관련 문제