[Seaside] Re: get value within a textinput with jQuery
Karsten Kusche
karsten at heeg.de
Tue Jul 16 15:07:09 UTC 2013
Hi Sabine,
when you send .val() to a jQuery object, you may want to also trigger its change handler. Otherwise the change wouldn't end up in your image.
like in: jQuery("#widgetId").val(adr).trigger("change");
Kind Regards
Karsten
--
Karsten Kusche - Dipl. Inf. (FH) - karsten at heeg.de
Georg Heeg eK - Köthen
Handelsregister: Amtsgericht Dortmund A 12812
Am Dienstag, 16. Juli 2013 um 16:18 schrieb Sabine Knöfel:
> Hi Johan,
>
> because the value parameter of the field does only contain the letters
> the user just entered and not the whole name of the adress which was
> selected by the user. E.g. user typed in 'd' and selected 'Dallas,Tx'
> from the list. Now, the value parameter of the field does only contain
> the 'd' and not 'Dallas, Tx'.
>
> The following code shows this as demo, you need only the 2 methods
> below and setter/getter for startPlace.
> There is a second textinput 'testTextField' that is also populated
> with the adress selected.
> So I see, ths js is working.
> But within the callback, the inspector shows me, that only the typed
> letters will be saved and not the whole selected adress.
>
> renderContentOn: html
> | mid fid |
> mid := 'widgetId'.
> fid := 'formId'.
> html
> html:
> ('<script type="text/javascript">
> jQuery(function() \{
> var input = document.getElementById(''widgetId'');
> var autocomplete = new google.maps.places.Autocomplete(input);
> google.maps.event.addListener(autocomplete, ''place_changed'', function() \{
> var place = autocomplete.getPlace();
> var adr = place.formatted_address;
> jQuery(''#widgetId'').val(adr);
> jQuery(''#testTextField'').val(adr);
> });
> });
> </script>
>
> <div>
> <input id="testTextField" type="text" size="50"/>
> </div>
>
> '
>
> format: {mid}).
> html textInput
> id: mid;
> size: 45;
> value: self startPlace;
> callback: [ :value |
> value inspect.
>
> self startPlace: value ];
>
> onChange:
> (html scriptaculous updater
> id: mid;
> triggerForm: fid;
> callback: [ :r | r render: startPlace ]);
> onBlur: html jQuery ajax serializeThis
>
>
> updateRoot: aHtmlRoot
>
> super updateRoot: aHtmlRoot.
> aHtmlRoot javascript url:
> 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'.
> aHtmlRoot javascript url:
> 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places'.
>
>
>
> On Tue, Jul 16, 2013 at 4:01 PM, Johan Brichau-2 [via Smalltalk]
> <[hidden email] (/user/SendEmail.jtp?type=node&node=4698952&i=0)> wrote:
>
> > Sabine,
> >
> > I'm a bit confused: why is the value parameter of the callback of the field
> > not enough?
> >
> > Sent from my iPad
> >
> > On 16 Jul 2013, at 15:40, Sabine Knöfel <[hidden email]> wrote:
> >
> > Hi Johan,
> >
> > I want to get the value of the textinput within the callback of the
> > textinput.
> >
> > Explanation:
> > With Google Places autocompleter
> > (http://webtrouble.blogspot.de/2013/01/google-address-autocomplete.html),
> > the user selected a place which is displayed in the textInput.
> > This works fine.
> >
> > Now, I want to save this place in my model.
> >
> > renderStartPlaceOn: html
> >
> > "this script sets the selected place in the field with the id 'mid'"
> > html html: ('<script type="text/javascript">
> > jQuery(function() \{
> > var input = document.getElementById(''{1}'');
> > var autocomplete = new google.maps.places.Autocomplete(input);
> > google.maps.event.addListener(autocomplete, ''place_changed'', function() \{
> > var place = autocomplete.getPlace();
> > var adr = place.formatted_address;
> > jQuery(''#{1}'').val(adr);
> > });
> > });
> > </script>' format: {mid}).
> >
> > "this is the text input with id 'mid' "
> > html textInput
> > id: mid;
> > size: self defaultEntryFieldWidth;
> > value: self startPlace;
> > callback: [ :value | |theStartPlaceString|
> > "**********This does not work, how can I get the value from the mid
> > field which was set by the script above?********"
> > theStartPlaceString:= html jQuery ajax
> > callback: [:v | v inspect. ]
> > value: (html jQuery id:
> > #searchTextField) value.
> > self startPlace: theStartPlaceString ];
> > onChange:
> > (html
> > scriptaculous updater
> >
> > id: mid;
> >
> > triggerForm: fid;
> >
> > callback: [ :r |
> >
> > r render: self startPlace ]);
> > onBlur: html jQuery ajax serializeThis.
> >
> > Greetings
> > Sabine
> >
> >
> >
> > On Tue, Jul 16, 2013 at 3:15 PM, Johan Brichau-2 [via Smalltalk]
> > <[hidden email]> wrote:
> >
> >> Hi Sabine,
> >>
> >> I guess you want the value server-side?
> >> You thus need to serialize that value:
> >>
> >> html jQuery ajax
> >> callback: [:v | ... ]
> >> value: (html jQuery id: #searchTextField) value
> >>
> >> Johan
> >>
> >> Sent from my iPad
> >>
> >> On 16 Jul 2013, at 14:01, Sabine Knöfel <[hidden email]> wrote:
> >>
> >>> Hi,
> >>>
> >>> I want to get the value which was entered into a textinput by doing
> >>>
> >>> (html jQuery id: #searchTextField) value.
> >>>
> >>> but I get
> >>> a JQueryInstance
> >>> (jQuery("#searchTextField").val())
> >>>
> >>> How can I get the value (String) of the text field?
> >>>
> >>> Greetings
> >>> Sabine
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> View this message in context:
> >>>
> >>> http://forum.world.st/get-value-within-a-textinput-with-jQuery-tp4698913.html
> >>> Sent from the Seaside General mailing list archive at Nabble.com (http://Nabble.com).
> >>> _______________________________________________
> >>> seaside mailing list
> >>> [hidden email]
> >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >> _______________________________________________
> >> seaside mailing list
> >> [hidden email]
> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >>
> >>
> >> ________________________________
> >> If you reply to this email, your message will be added to the discussion
> >> below:
> >>
> >> http://forum.world.st/get-value-within-a-textinput-with-jQuery-tp4698913p4698938.html
> >> To unsubscribe from get value within a textinput with jQuery, click here.
> >> NAML
> >
> > ________________________________
> > View this message in context: Re: get value within a textinput with jQuery
> >
> > Sent from the Seaside General mailing list archive at Nabble.com (http://Nabble.com).
> >
> > _______________________________________________
> > seaside mailing list
> > [hidden email]
> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >
> >
> > _______________________________________________
> > seaside mailing list
> > [hidden email]
> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >
> >
> > ________________________________
> > If you reply to this email, your message will be added to the discussion
> > below:
> > http://forum.world.st/get-value-within-a-textinput-with-jQuery-tp4698913p4698947.html
> > To unsubscribe from get value within a textinput with jQuery, click here.
> > NAML
>
> View this message in context: Re: get value within a textinput with jQuery (http://forum.world.st/get-value-within-a-textinput-with-jQuery-tp4698913p4698952.html)
> Sent from the Seaside General mailing list archive (http://forum.world.st/Seaside-General-f86180.html) at Nabble.com (http://Nabble.com).
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org (mailto:seaside at lists.squeakfoundation.org)
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20130716/50f1e1ad/attachment-0001.htm
More information about the seaside
mailing list