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