Hi,
Thank you all for guiding me to the solution especially "Numa" .. and this
is how I solved it:
for the .tml
<p id="myId" data-mydata="testvalue"/>

and in the JS JQuery file, I passed the variable in a JSON object --> data:
{myData:dataToSend}
$('#myId').click(function() {
var dataToSend=  $('#myId').data('mydata');
ajax('answer', {
element: $('#myId'),
data:{ myData:dataToSend},
success: function(response) {
}
});
});

and in java file, I used @RequestParameter("myData") to get the value from
the JSON object:
 @OnEvent("answer")
 @PublishEvent
public void answer(@RequestParameter("myData") String varName)
    {
    System.out.println("Variable name is :"+  varName  );
    }

Regards,
Marwa


On Tue, Aug 28, 2018 at 3:20 PM Numa Schmeder <n...@dfacto.ch> wrote:

> Hello Marwa,
>
> The answer provided by Thiago is much simpler.
> Just put your data in a data attribute of a tag and then use the tutorial
> ajax and zones to send this data to a server side event handler.
> If you want to do it automatically without triggering a javascript event,
> just put you script in an on document ready event, to make sure your
> javascript code is called once the page is rendered and loaded by the
> browser.
>
>
> ===> in html page
>
> <div id=“myId” data-mydata=“mydata"></div>
>
> ===> javascript at the end of html page
>
> $(function() {
>         var dataToSend = $(‘#myId’).data(‘mydata’);
>         ajax(‘pageData', {
>                         data: dataToSend, // This doesn't need to be the
> same element as the one two lines above
>             // Callback called when the request is finished.
>             // response.json is the object returned by the event handler
> method
>                         success: function(response) {
>                                 alert('sent to server');
>                         }
>                 });
> });
>
>
> =====> in java page
>
> JSONObject onPageData()
>     {
>         return new JSONObject("origin", "componentAction");
>     }
>
>
> You can use jquery or something else.
>
> Best
> Numa
>
>
>
>   <http://www.dfacto.ch/>       Numa Schmeder    www.dfacto.ch  <
> http://www.dfacto.ch/>
> n...@dfacto.ch <mailto:n...@dfacto.ch>   |   M +41 79 538 30 01
>
> DIGITAL STRATEGY   |   DESIGN   |   DEVELOPMENT
>
>
>
>
> > Le 28 août 2018 à 12:22, marwa hussein <marwa.huss...@gmail.com> a
> écrit :
> >
> > Hello,
> >
> > Thanks all for your suggestions. I followed the example shown in
> > https://tapestry.apache.org/ajax-and-zones.html in "Invoking server-side
> > event handler methods from JavaScript"   but here the event is in the
> java
> > code "server-side" and is invoked from the Javascript code "onClick()" ,
> > but what I want is the opposite direction, sending a "string variable"
> from
> > a tag appended in  the clientside javascript code to the java code "in
> the
> > serverside".
> > For now, I will test to use hidden input (although I didn't want to use a
> > form submit) and I will see if I can make it or not ...
> >
> > Thank you all for your help and valuable suggestions, and of course, if
> > anyone face the same problem before and could give me hints to how to do
> it
> > please tell me.
> > Regards,
> > Marwa
>
>

-- 



*Marwa Hussein M. TA @ Information Systems Department Faculty of Computers
& Information Assuit University*
<imanhe...@yahoo.com>

Reply via email to