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
https://forums.phpfreaks.com/topic/61024-ajax-and-anchors/
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
https://forums.phpfreaks.com/topic/61024-ajax-and-anchors/#findComment-303794
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
https://forums.phpfreaks.com/topic/61024-ajax-and-anchors/#findComment-309843
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.