yes, it does sound like the same scenario.

musachy

On 6/20/07, Jeromy Evans <[EMAIL PROTECTED]> wrote:

Musachy, is this the https://issues.apache.org/struts/browse/WW-1766issue.  I 
recall you made a partial fix in
2.0.8/2.0.9 but in 2.0.6 I used a work-around.


FanCo wrote:
> Hi musachy,
>       Thanks for your reply. It doesn't work even I set the
executeScripts to
> true. One thing I didn't mention is I set the "href" attribute of the
DIV to
> an action that will return the form page. So after the page load, the
div
> will request and show the form page asynchronously. In this way, the
form
> submission works in AJAX. But the same page doesn't work after I click
the
> button, trigger the JavaScript and return the same form page.
>
> The page is shown first without the content in the div(request
> asynchronously). Then it becomes a blank page and provides a "dojo is
not
> defined" JavaScript error, if I set the executeScripts of div to true
and
> add the <struts:head theme="ajax"/> to the form page. Although I remove
the
> <struts:head theme="ajax"/>, set the executeScripts to true and the page
> shown correctly, the form still doesn't work in ajax and refresh after
> submission.
>
> I use the firebug for debugging and find one strange thing. The form in
the
> div doesn't contain the following the first time (The content of the
whole
> form page is returned asynchronously).
>
> <script type="text/javascript">
>       dojo.require("dojo.widget.Tooltip");
>       dojo.require("dojo.fx.html");
> </script>
> But the form returned by the JavaScript contains it. Is this what make
the
> form doesn't work in AJAX? Why is this block of code provided?
>
>
> Musachy Barroso wrote:
>
>> Scripts in the html returned will be executed (<script>...</script>)
>>
>>
http://struts.apache.org/2.x/docs/ajax-and-javascript-recipes.html#AjaxandJavaScriptRecipes-ExecuteJavaScriptinthereturnedcontent
>>
>> musachy
>>
>> On 6/20/07, FanCo <[EMAIL PROTECTED]> wrote:
>>
>>> I didn't set the executeScripts attribute for the DIV. So the default
>>> value
>>> should be false. What is the function of this attribute if it is true?
>>>
>>>
>>> newton.dave wrote:
>>>
>>>> Does your <s:div.../> have executeScripts="true"?
>>>>
>>>> d.
>>>>
>>>> --- FanCo <[EMAIL PROTECTED]> wrote:
>>>>
>>>>
>>>>>      I am developing a web page which contains two
>>>>> layouts (left & right). On the
>>>>> left side, there are some buttons. And the right
>>>>> side, it is a DIV which use
>>>>> <s:div/> to create. It will invoke the JavaScript to
>>>>> send a request to one
>>>>> specific S2 action and updates the div with the
>>>>> return page when click the
>>>>> button. The updated page on the right side is always
>>>>> a form containing some
>>>>> fields. I want to send the form with AJAX without
>>>>> refresh the whole page.
>>>>> The JavaScript is using the dojo.io.bind() to send
>>>>> an asynchronous request
>>>>> to S2 action to obtain the web page. Then use the
>>>>> callback to update the
>>>>> DIV. It works fine with the JavaScript to update the
>>>>> DIV. My problem is the
>>>>> AJAX of the form in the updated page doesn’t work.
>>>>> When I click the submit
>>>>> button, it works like the normal form and refresh
>>>>> the whole page.
>>>>> The code of the form is something like the
>>>>> following:
>>>>> <struts:head theme="ajax"/>
>>>>> ……
>>>>> <struts:form method="post" id="testForm"
>>>>> action="update" theme="ajax" >
>>>>> <TABLE>
>>>>>      <tr>
>>>>>              <td><struts:textfield name="descBean.name"/></td>
>>>>>      </tr>
>>>>>      <tr>
>>>>>              <td><struts:textfield
>>>>> name="descBean.address"/></td>
>>>>>      </tr>
>>>>>      <tr>
>>>>>              <td>
>>>>>                      <struts:submit value="Save" align="left"
>>>>> targets="updateDiv"/>
>>>>>              </td>
>>>>>      </tr>
>>>>> </table>
>>>>> </struts:form>
>>>>>
>>>>> And the JavaScript is the following:
>>>>> function Connector(updateTargetArray){
>>>>>      // the ids of the target div
>>>>>      this.targetsArray = updateTargetArray;
>>>>> }
>>>>>
>>>>> Connector.prototype.send = function(location){
>>>>>      dojo.io.bind({
>>>>>              url: location,
>>>>>              handle: dojo.lang.hitch(this, this.bindHandler),
>>>>>              mimetype: "text/html"
>>>>>      });
>>>>> }
>>>>>
>>>>> Connector.prototype.bindHandler = function(type,
>>>>> data, e) {
>>>>>      if(type == "load") {
>>>>>              this.setContent(data);
>>>>> }
>>>>> }
>>>>>
>>>>> Connector.prototype.setContent = function(text){
>>>>> if(this.targetsArray) {
>>>>>              if (this.targetsArray instanceof Array){
>>>>>                      for( var i=0; i<this.targetsArray.length; i++){
>>>>>                              var node = dojo.byId(this.targetsArray
>>>>>
>>> [i]);
>>>
>>>>>                              node.innerHTML = text;
>>>>>                      }
>>>>>              }
>>>>>              else {
>>>>>                      var node = dojo.byId(this.targetsArray);
>>>>>                      node.innerHTML = text;
>>>>>              }
>>>>> }
>>>>>
>>>>> The onClick event of the button will invoke the
>>>>> Connector.send(location) to
>>>>> send the request.  The form code works fine in an
>>>>> individual page. I am not
>>>>> quite sure which part is wrong. Does anyone can help
>>>>> me? Thank you so
>>>>> much!~~~
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>>
>>>>>
>>>
http://www.nabble.com/Ajax-form-submission-doesn%27t-work-after-the-DIV-is-updated-tf3952031.html#a11212235
>>>
>>>>> Sent from the Struts - User mailing list archive at
>>>>> Nabble.com.
>>>>>
>>>>>
>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>>>
>>>>> To unsubscribe, e-mail:
>>>>> [EMAIL PROTECTED]
>>>>> For additional commands, e-mail:
>>>>> [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
____________________________________________________________________________________
>>>
>>>> Luggage? GPS? Comic books?
>>>> Check out fitting gifts for grads at Yahoo! Search
>>>>
http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>>
>>> --
>>> View this message in context:
>>>
http://www.nabble.com/Ajax-form-submission-doesn%27t-work-after-the-DIV-is-updated-tf3952031.html#a11214704
>>> Sent from the Struts - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>> --
>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>
>>
>>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
"Hey you! Would you help me to carry the stone?" Pink Floyd

Reply via email to