Advertisement

06.26.2008 at 01:43PM PDT, ID: 23519819
[x]
Attachment Details

Simple AJAX function, pass DIV ID

Asked by phper in Asynchronous Javascript and XML (AJAX), JavaScript, PHP Scripting Language

Tags: AJAX, JavaScript, PHP

I'm trying to build a simple AJAX function that I can call whenever I need it. The function takes 4 variables:
ajax(page,fol,inf,outd)

page = the php page to run
fol = Field or Link, if the value being taken is a field value or a href value
inf = Input field or direct link info
outd = the output ID, such as the div id to present the response from the php page

I have it all working fine except for the output div because I can't pass the div ID from the js function ajax to handleHttpResponse.

I'm real new to AJAX and not great at javascript. But what I want to do is just have a simple way to run ajax from pages. So can either someone consolidate the js functions ajax and handleHttpResponse so he variable outd can be passed or is there another way of doing this? Start Free Trial
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
//////////////////ajax.js
function ajax(page,fol,inf,outd){
	  if(fol=='f'){
	  var sId = document.getElementById(inf).value;
	  }
	  if(fol=='l'){
	  var sId = inf;
	  }
            http.open("GET", page + escape(sId), true);
			http.onreadystatechange = handleHttpResponse;
            http.send(null);
}
  
function handleHttpResponse() {   
        if (http.readyState == 4) {
              if(http.status==200) {
              var results=http.responseText;
			  alert(results);/////Debug
              document.getElementById(outd).innerHTML = results;
              }
              }
}
      
function getHTTPObject() {
  var xmlhttp;
 
  if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
  }
  else if (window.ActiveXObject){
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (!xmlhttp){
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
   
}
  return xmlhttp;
}
 
var http = getHTTPObject();
 
 
//////////////////////phpcode.php
<?
if($_GET['id'] == 'Yes') {
print 'This is to confrim that you selected Yes';
}
 
if($_GET['id'] == 'No') {
print 'This is to confrim that you selected No';
}
?>
 
 
//////////////////////////index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="ajax.js" type="text/javascript"></script>
</head>
 
<body>
<p><a href="javascript:ajax('phpcode.php?id=','l','Yes','resdivX');">Yes</a></p>
<p><a href="javascript:ajax('phpcode.php?id=','l','No','resdivX');">No</a> </p>
<div id="resdivX"></div>
</body>
</html>
 
Loading Advertisement...
 
[+][-]06.26.2008 at 01:51PM PDT, ID: 21878888

Assisted solutions are selected by the member who asked the question as a comment that contributed to their question's solution.

Start your 7-day free trial to view this Assisted Solution or ask the Experts your question.

 
[+][-]06.26.2008 at 02:13PM PDT, ID: 21879086

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: Asynchronous Javascript and XML (AJAX), JavaScript, PHP Scripting Language
Tags: AJAX, JavaScript, PHP
Sign Up Now!
Solution Provided By: JurgenvH
Participating Experts: 2
Solution Grade: A
 
 
 
Loading Advertisement...
20080716-EE-VQP-32 / EE_QW_2_20070628