Jump to content

AJAX and Anchors


adam84

Recommended Posts

Does this work??

 

<INPUT TYPE=BUTTON NAME=btn1 ID=btn1 VALUE='Click Me' ONCLICK="javascript:sendRequest('getResults.php?animal=Cow&name=Larry#topOfPage','resultsDIV');">

 

Is it possible to add the anchor name at the end of your ajax call and after the data gets loaded into the span or div tag, then page will go to the anchor????

Link to comment
Share on other sites

that could work if your funtion sendRequest does the right actions

<script>
function createRequestObject() { 

var req; 
    
if(window.XMLHttpRequest){ 
    	// Firefox, Safari, Opera... 
        req = new XMLHttpRequest(); 
    } else if(window.ActiveXObject) { 
    	// Internet Explorer 5+ 
    	req = new ActiveXObject("Microsoft.XMLHTTP"); 
    } else { 
    	// There is an error creating the object, 
        // just as an old browser is being used. 
    	alert('Problem creating the XMLHttpRequest object'); 
} 
    
return req; 
    
} 
    
// Make the XMLHttpRequest object 
var http = createRequestObject(); 
var elementId;	//id of the div to update

//show suggest sentences 
function sendRequest(url,id) { 
elementId=id;
// Open PHP script for requests 
http.open('get', url);
http.onreadystatechange = handleResponse; 
http.send(null); 
    
} 

function handleResponse() { 
    
if(http.readyState == 4 && http.status == 200){ 

	// Text returned FROM the PHP script 
	var response = http.responseText; 

	if(response) { 
		// UPDATE ajaxTest content 
		document.getElementById(id).innerHTML = response; 
	} 
   	 
} 
    
}  
</script>

 

that part about the anchor i don't understand. with the anchor you could call the function as followed

<a href="javascript:sendRequest('http://yoursite.com','elementId')">call ajax function</a>

Link to comment
Share on other sites

All i want to do it put an anchor tag at the top of the top and after i call and run my ajax code. I want to have the page goto the top anchor tag so if a long page of data is loaded by the ajax, the user will be at the top of the screen

Link to comment
Share on other sites

that hash (#)at the end of the url wil do nothing because ajax loads into your variable then innerHTML's into some div.

 

to get the page to scroll to the top, use:

window.scrollTo(0,0);

 

-put it in this function:

function handleResponse() { 
    
if(http.readyState == 4 && http.status == 200){ 

	// Text returned FROM the PHP script 
	var response = http.responseText; 

	if(response) { 
		// UPDATE ajaxTest content 
		document.getElementById(id).innerHTML = response;
        window.scrollTo(0,0); 
	} 
   	
} 
    
}

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.