JQuery :: Speed Up An Ajax "Search As You Type" Function
Feb 23, 2011
I'm working on a 'live search' for some products in my database. I use a web method in an aspx page to hit the database up for data. The search fires off on each keyup event.
Here's the code that is fired to get the search results:
My problem is that when a user types in the input field really fast, the whole page slows down, it looks like the user isn't typing and there is a lot of lag for the cursor to catch up with the current position. What can I do to prevent this slowdown in my input field and speed up my page responding to the user's typing? I'd really like to have fast results and response time like Google's search.
I have an AJAX script which is used for a "live search" type function.When a user begins to type their search, after 3 characters, my AJAX script jumps into action and shows them a list of possible results.I has worked fine for months, and now suddenly I have found that it is causing a javascript error.I have traced the error down to the "open" call... ie: this.xmlHttp.open("GET", url, true);Like I said, this has worked for ages and I haven't changed these files since I got them working.
When using .ajax, and when before I receive any data back from the server, I would like to call a function that could display some type of 'thinking' icon. In looking a the documentation I see there is a 'success', for when after receiving data back successfully, and an 'error', for obviously when something bad happens and need to error gracefully. I do not see something like a 'beforeSuccess' function that would allow me to specify, for example, to overlay a 'thinking icon' on top of a <div> after request is sent to the server and before I get any data back. I would assume this is a pretty standard necessity in ajax applications, and probably missing something here. How exactly is this done using the .ajax methods?
I have to change text input type to password input type and i am using jquery script. This script work for FF, Chrome and Safari browser but not worked on ie7, ie8.
Script is as:-
How can i update my script, so that it works cross the browser.
Ive been having a problem of late with one of my sites that uses PHP5 / Ajax. The problem is that periodically the ajax functions lock up and it gets stuck in the loading phase of the request. If i restart the apache server everything goes back to normal (i assume it severs the connection to the ajax called function).
I think this is a problem with the javascript part as i have tried it using a straight post request and have have no problems and slow loading time is localized to the one user (ie. still works fine on the other computers on my office network).
I have recorded this happening in Firefox, safari and IE6 & 7
My server is running debian with apache2 and php5
Just wondering if somebody can shed some light on what my problem may be? Code:
I''m looking to develop a web app where there will be extensive Ajax queries, array manipulations and loading of tables on pages.. What are the best software programs or technologies out the fore maximizing the processing of these queries? ? i remember i once heard about some technology called PURE that let you transfer AJAX JSON responses directly into HTML to maximize speed.
Are there any good programs like that people know of ( or a better alternative to PURE if pure is no good i literally know nothing about it ) that can work well with jQuery, or can jQuery achieve better speeds somehow?
Recently in my IT class, we made a HTML page which would open a popup box, where the user could enter a key word. When the user pressed enter, the page would navigate to a specific page. The code we used was:
<script language = "JavaScript"> where = window.prompt ("Please tell me where you would like to go."); switch (where){[code].....
implement this code on my workplaces server, and have the keywords link to other html documents within the server. However when I tested this, for some reason the links are not working.
The problem is...when I type in search textfield it focus in the name list..like for example i type a after I press a it was focus in the firstname, which is wrong..I think it cause from the javascript code..I want to happen is i continue typing in search textfield.
I'm running into a prob with an ajax form post where the content type is being sent to the server as text/html instead of text/javascript... here's some of my code: I do this at the top of my .js file -
There are 3 tables in DB group-set,group,users. Two different type of folders 1 is group-set which contains groups and another is groups which contains the users in group.group-setcan have multiplegroup-setorgroupas a child elements.groupwill have only users as child elements.useris a leaf node.how to load it with ajax. because ajax GET request passes "id" to load childs.. but in this case we need extra parameter in GET request i.e.typeto find out whose child it needs (group-set's or group's).type will determine what needs to be loaded. users or groupshow to modify get request generated on node expand with appending type parameter in treeview ??
I am using a very simple search-type page to enable users to input a model number and its page appears in a inline frame. Its not a true search as it is simply relying on a person entering the correct html page name to find it. But this works perfectly in my application.The problem I have is that I cannot get the type box to accept enter key as a submitt, only a click of the mouse will submitt the request. If enter is pressed the box loses the users input but no action is taken.I think this may be a javascript issue. I have posted the code below.
i used setTimeout() function in my image gallery to scroll images , i used setTimeout("myfunction()",1) in my script. Now my image gallery is working properly but problem is that the speed of scrolling images if normal in firefox, but in internet explorer it is slow, and in google chrome it is very fast , Sir how to resolve this problem
I have to create a dynamic html block that can hide and show text, anchor tag is used to hide/show the block, which is also dynamically generated, so I have to call anchor's tag click event using live function, but within that click event I have to look up for immediate next div control which will hide/show. my code is somewhat like below I am comment the line of code which is not working
$("a").live("click", function(e) { var $nextElement = $(this).next("div");//div control is not found here, it is also dynamically generated. ($(this).html() == "[-]") ? $(this).html("[+]") : $(this).html("[-]");
If this search function is included in an include file with other functions it will run more than once if you click another function first, then come back to it to do another search.
For example if I click the next page function, then decide to click for a new search it runs more than once: Next page function:
Code: $(document).ready(function() { $('a#nextpage').click(function() { var page = $(this).attr('page'); var searchval = $(this).attr('schval'); var maxpage = $(this).attr('maxpage'); $.post("findowner.php", { p1 : searchval, page : page }, function(data){ if (data.length>0){ $("#ownerIDdiv2").html(data); } }); }); }); //end
However, if I put the first search function in a separate include file all works perfect. Why it runs multiple times if it is grouped among other functions?
I have a search field on the website, and when I type a word to search, it search good, but after preforming the search, the search term from search text field disappears and become the default 'Search' word.
How can I make search term stay in search field after preforming a search ? For example, when I type into the search field 'JavaScript' I want that term to stay in search field and after the search is done.
I was wondering what could be wrong? There is this ajax code that I'm trying to work on and its supposed to show the results in a div tag when submitting a search form, but theres no results.
Somebody enters the search term, presses search, and the results are displayed, what is more I record the search term in the DB - plus the number of results returned - reason I want to know what people are searching for and how often - to see if I can plug some holes in product inventory. Anway fairly standard.
Now I also have an AJAX search box (well same box actually) as they type matching products are displayed in a DHTML drop down (like google suggest) - this all works, however I am stuck trying to work out how I could record in the DB what they are searching for in the AJAX search etc as there is no hard action - such as pressing "search", each keystroke is a new search, and I guess I don't really want to be recording like (or do I?):
h 1000 (product matches) ha 300 har 100 harr 20 harry 10 harry p 6 .......
I am working on a search function to call some data from an XML document. It works fine except for the fact that it's case sensitive.
What method do I need to use from the String object to make it case insensitive, so that a J is the same as j?
I was thinking of changing my text box string to all lower case using toLowerCase(). If I did this, then would I have to do the same thing in the info retrieved from the XML document? I want to make it so that Tom is the same as tom - I'm just wondering where I would have to apply these - to both the XML doc (being read for the output) as well as the text box string (the input).
Just wondering if I'm overthinking this, or on the right track with toLowerCase().
Also, in my search, to filter the results from only entering a few letters (not the entire element, I'm using the substr() method. It seems to work but I don't know if this affecting the case somehow...
I want to put youtube video bar in my website... and i already found the way to do it. Using google ajax search api. Google already provide the wizard to generate the code. [URL] The problem is, by default it shows only 4 videos for horizontal view. I am really having trouble to increase the video number.
For example, set onmouseclick event function of all images on a page to do the same thing. I want it to be the "default" function, that it applies to all images I create later on with JS. Look at this code, it's just the concept:
Code: images.onmouseclick=function(){alert("an image was clicked")} //I know the "images" object doesn't exist a=document.createElement("img"); document.appendChild(a); // an alert box should open when this new image is clicked. // an alert box should open when any other image is clicked.
I created a search where I use AJAX to send a request to a MYSQL database using PHP. I am able to get the two to talk. You can click the search button and the "results" will display. The problem is that it is every piece of data from the database. It is currently performing a search based off the words typed in the form. Below is my HTML and my PHP.
HTML:
Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">