Solved

Small problem with nodstrum.com AJAX autocomplete/sugges function

Posted on 2007-11-29
14
575 Views
Last Modified: 2013-12-12
Been poking around all day 'learning' and finally found an autocomplete function that I can work with.  Got it at  http://nodstrum.com/2007/09/19/autocompleter/

Got it all installed and it works perfectly, got it re-configured only to find out it didn;t fill in the input when I clicked a choice from the popup list.  Switched it back to irf\ginal version and same thing, nada.  So my question is, simply what could possibly be wrong with the fill() function?  It works on the site demo, so I am assuming it should work on mine :)  I can post code, but the only changes I made were to the MySQl server setting, database and table and field names.  Never even touched the js file...  

Little help? TIA if you can...

Owen
0
Comment
Question by:owenparker
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 7
14 Comments
 
LVL 21

Expert Comment

by:nizsmo
ID: 20379907
Hi owenparker

It sounds like you haven't changed much. Often a good way is to change only one thing at a time and after the thing you change, try the script and make sure the change doesn't stop the script from working. This way you will know exactly which changes will work fine and which changes you made has caused the problem.

Hope this helps.
0
 

Author Comment

by:owenparker
ID: 20380872
I actually went back to the original code downloaded and the same issue was present.  Thus my quandry...  Thanx for the reply, however...
0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20380881
you cannot run the code even at its default?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:owenparker
ID: 20380935
I just re-downloaded original zip and got the demo working.  won;t be long now i suspect :)
0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20380941
goodluck, 1 step/change at a time :)
0
 

Author Comment

by:owenparker
ID: 20380955
ok, got the demo working, changed my table to have the same column name, data type, size, etc as the sample code table so all i changed in the sample code was the actual table name in the select statement.  the suggestion list comes up as expected but when i click, the chosen result will not fill the field???!!!  Now I am very stumped.  ARGH!
0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20380969
did the original unmodified example fill the field properly?
0
 

Author Comment

by:owenparker
ID: 20380971
ok, finally some success.  some of the entries work, some don't.  the only oddity i can see with the ones that don't fill would be an apostrophe.  How exactly may i get around this?
0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20380976
then you probably need to escape the apostrophe character by putting "\" the escape character before it.
Eg:
\'
0
 

Author Comment

by:owenparker
ID: 20380991
it's definitely the apostrophe.  Where exactly would I escape it?  I slipped in the code where it is building the suggestion box...
$query = $db->query("SELECT value FROM inventory WHERE value LIKE '%$queryString%'");
if($query) {
   // While there are results loop through them - fetching an Object (i like PHP5 btw!).
   while ($result = $query ->fetch_object()) {
           // Format the results, im using <li> for the list, you can change it.
           // The onClick function fills the textbox with the result.
 
           // YOU MUST CHANGE: $result->value to $result->your_colum
   echo '<li onClick="fill(\''.$result->value.'\');">'.$result->value.'</li>';
}

Open in new window

0
 
LVL 21

Accepted Solution

by:
nizsmo earned 500 total points
ID: 20381004
Try this.

Also you missed a closing bracket, may have just been your copy and paste error.
<?php
	$query = $db->query("SELECT value FROM inventory WHERE value LIKE '%$queryString%'");
if($query) {
   // While there are results loop through them - fetching an Object (i like PHP5 btw!).
   while ($result = $query ->fetch_object()) {
           // Format the results, im using <li> for the list, you can change it.
           // The onClick function fills the textbox with the result.
 
           // YOU MUST CHANGE: $result->value to $result->your_colum
   echo '<li onClick="fill(\''.addslashes($result->value).'\');">'.addslashes($result->value).'</li>';
}
}
?>

Open in new window

0
 

Author Closing Comment

by:owenparker
ID: 31411863
Timely response, and near-live back and forth.  A small problem that caused a lot of trouble solved :)
0
 

Author Comment

by:owenparker
ID: 20381100
Thanx a mil' nizsmo.  This small thing had me really stumped.  Very nice to have someone to bounce things off.  Your help was very much appreciated, my brother...
0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20381108
no problems at all, glad to be of assistance! :)
0

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
This article discusses how to implement server side field validation and display customized error messages to the client.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question