The javaScriptSupport.addScript is deprectated in 5.4 iirc.

Instead I would use a module for the locate function, the url can be passed
as an init parameter to require or stored somewhere in the DOM (the former
probably makes the most sense in this case.

Also I would use the tapestry ajax module (
http://tapestry.apache.org/current/coffeescript/ajax.html) instead of
$.ajax as that will give you some code that understands the responses that
tapestry may generate in from an event handler (error screen, additional
stuff added using ajaxResponseRenderer etc.)

There is also a helper for adding url parameters (
http://tapestry.apache.org/current/coffeescript/utils.html)

-- 
Chris


On Wed, Aug 31, 2016 at 1:19 AM, Qbyte Consulting <qbyteconsult...@gmail.com
> wrote:

> I could not get the form method to work, so ended up passing an eventlink
> url to my javascript and adding parameters to it. Works a treat and simple.
>
>                 Link link =
> componentResources.createEventLink("geolocation", null);
>                 final String eventLinkURI = link.toAbsoluteURI();
>                 ajaxResponseRenderer.addCallback(new JavaScriptCallback()
> {
>                     @Override
>                     public void run(JavaScriptSupport javascriptSupport) {
>                         javascriptSupport.addScript(
>                                 "locate('" + eventLinkURI + "');");
>                     }
>                 });
>
>
> function locate(eventLinkURI) {
>     if (navigator.geolocation) {
>         navigator.geolocation
>                 .getCurrentPosition(function (position)
>                 {
>                     var geolink = eventLinkURI
>                         + "?lat=" + position.coords.latitude
>                         + "&long=" + position.coords.longitude;
>                     $.ajax({url: geolink});
>                 }, geoError);
>     }
> }
>
>
> On Tue, Aug 30, 2016 at 12:11 PM, Chris Poulsen <mailingl...@nesluop.dk>
> wrote:
>
> > Use a form, request parameters or url context - The usual way of sending
> > data to the server.
> >
> > --
> > Chris
> >
> > On Tue, Aug 30, 2016 at 11:56 AM, Qbyte Consulting <
> > qbyteconsult...@gmail.com> wrote:
> >
> > > I get JS to populate the hidden form fields, they are passed as
> > parameters
> > > to the page, but they are empty strings?
> > >
> > > function locate() {
> > >     //Geolocation
> > >     if (navigator.geolocation) {
> > >         navigator.geolocation
> > >                 .getCurrentPosition(function (position)
> > >                 {
> > >                     $("#latitude").val(position.
> > > coords.latitude.toString());
> > >
> > > $("#longitude").val(position.coords.longitude.toString());
> > >                 }, geoError);
> > >         $("#locateForm").submit();
> > >     }
> > > }
> > >
> > > On Tue, Aug 30, 2016 at 8:24 AM, Nathan Quirynen <
> > > nat...@pensionarchitects.be> wrote:
> > >
> > > > Hi
> > > >
> > > > I guess you could do something like the following:
> > > >
> > > > Create a component just containing two hidden fields and in the after
> > > > render event of this component run a javascript module where you get
> > the
> > > > longitude and latitude and set these values to your hidden fields.
> > > > Add two parameters (latitude and longitude) to the components java
> > class
> > > > to which you pass the latitude and longitude properties from your
> page
> > > that
> > > > have to be set when submitting the form. Use these parameters in your
> > > > component as the values for your hidden fields.
> > > > Then you can add this component inside any form where you need.
> > > >
> > > > Nathan
> > > >
> > > >
> > > >
> > > > On 30/08/16 01:10, Qbyte Consulting wrote:
> > > >
> > > >> Hi,
> > > >>
> > > >> Does anyone have an idea how to pass latitude and longitude as
> hidden
> > > >> values in a login for with T5.4, or any other tricks to get this
> data
> > > into
> > > >> a component?
> > > >>
> > > >> John
> > > >>
> > > >>
> > > >
> > > > ------------------------------------------------------------
> ---------
> > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > > > For additional commands, e-mail: users-h...@tapestry.apache.org
> > > >
> > > >
> > >
> >
>

Reply via email to