Function not returning value

Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Thread Solved
Reply

Join Date: Apr 2008
Posts: 4
Reputation: SandraC is an unknown quantity at this point 
Solved Threads: 0
SandraC SandraC is offline Offline
Newbie Poster

Function not returning value

 
0
  #1
Apr 3rd, 2008
Hi all!

I have two functions, one which calls the other (here simplified) that are part of an autocomplete process. The scripts run without error, however the part I am posting here returns "undefined" for one of my variables. The alert in the function findValue() returns the correct "thisID" in the alert, however the function fillCodes() that called it returns "undefined" in its alert:


JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. function findValue(li) {
  2. if( !!li.extra ) var thisID = li.extra[0];
  3. alert(thisID);
  4. return thisID;
  5. }
  6.  
  7. function fillCodes() {
  8. var oSuggest = $("#my_input_field")[0].autocompleter;
  9. var thisID = oSuggest.findValue();
  10. alert(thisID);
  11. }

Anybody have a clue?

Sandra
Reply With Quote Quick reply to this message  
Join Date: Apr 2005
Posts: 1,382
Reputation: ShawnCplus is a glorious beacon of light ShawnCplus is a glorious beacon of light ShawnCplus is a glorious beacon of light ShawnCplus is a glorious beacon of light ShawnCplus is a glorious beacon of light 
Solved Threads: 217
Sponsor
ShawnCplus's Avatar
ShawnCplus ShawnCplus is offline Offline
Code Monkey

Re: Function not returning value

 
0
  #2
Apr 3rd, 2008
You're never passing an argument to the findValue function. findValue requires an argument but it is never receiving one.
GCS d- s+ a-->? C++(++++) UL+++ P+>+++ L+++ E--- W+++
N+ o K w++(---) O? !M- V PS+>++ PE+ Y+ PGP !t- 5? X- R tv+
b+>++ DI+ D G++>+++ e+ h+>++ r y+
PMs asking for help will not be answered, post on the forums. That's what they're there for.
Reply With Quote Quick reply to this message  
Join Date: Apr 2008
Posts: 4
Reputation: SandraC is an unknown quantity at this point 
Solved Threads: 0
SandraC SandraC is offline Offline
Newbie Poster

Re: Function not returning value

 
0
  #3
Apr 3rd, 2008
Originally Posted by ShawnCplus View Post
You're never passing an argument to the findValue function. findValue requires an argument but it is never receiving one.

findValue() is finding and alerting the correct ID - it just does not return a value.

I just learned that the findValue() function (jQuery plugin for suggest) is asynchronous and needs the event handler onFindValue() to be defined.

But I dont know how to do this


Sandra
Reply With Quote Quick reply to this message  
Join Date: Apr 2008
Posts: 4
Reputation: SandraC is an unknown quantity at this point 
Solved Threads: 0
SandraC SandraC is offline Offline
Newbie Poster

Re: Function not returning value

 
0
  #4
Apr 4th, 2008
Ok, clearly nobody knows how to define an event handler or use jQuery.

Since I don't know either, I have tried another approach.

First I created a hidden field with the name of "id_holder". I also have an input field where I want the returned value to be displayed named "id_target".

Then I changed my findValue() function to:

JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. function findValue(li) {
  2. if( li == null ) return alert("No match!");
  3. if( !!li.extra ) var sValue = li.extra[0];
  4. document.my_form.id_holder.value = sValue;
  5. }

Now my calling function is:

JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. function fillCodes() {
  2. var oSuggest = $("#my_input_field")[0].autocompleter;
  3. oSuggest.findValue();
  4. var this_holder = eval("document.my_form.id_holder");
  5. var this_target = eval("document.my_form.id_target")
  6. alert(this_holder.value);
  7. alert(this_holder.value);
  8. this_target.value = this_holder.value
  9. }

Now the curious thing is that the first alert is empty, while the second identical alert displays the correct id value. If the script does not contain at least one alert, then id_target remains empty.

Can anybody offer a solution as to how I can make this work without an alert? What is actually happening between the first and second alert?

If you are wondering why I don't put it all within the findValue() function, its because the final fillCodes() function will contain a loop to populate fields by sequence (the above code is simplified to make it easy to read).


Sandra
Last edited by SandraC; Apr 4th, 2008 at 1:01 pm.
Reply With Quote Quick reply to this message  
Join Date: Apr 2008
Posts: 4
Reputation: SandraC is an unknown quantity at this point 
Solved Threads: 0
SandraC SandraC is offline Offline
Newbie Poster

Re: Function not returning value

 
0
  #5
Apr 4th, 2008
Ok... I solved this by first firing findValue() when the user selects from the Suggest drop menu, then it is fired a second time when fillCodes() is fired (when the user chooses to add their selection to a list).


Sandra
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC