Ajax och php

PHP

1 svar · 365 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Trådstart#1

Jag listar en almanacka där varje dag sparas i databasen. Har enändraknapp på varje dag och när jag klickar på den så skall ett fält komma fram på just den dagen. Just nu har jag så den kommer fram på dag 1 men vete tusan hur man gör för att skicka med så att den vet vilken div den skall visas på.

Koden just nu: - vet man skall ge varje forms ett eget id efter men sen vete tusan...
index.php

<div id="forms">
	&nbsp; Texten 1
</div>

<div id="forms">
	&nbsp; Texten 2
</div>

ajax.js

var xmlHttp

function viewForm(dt,vID){
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
 		alert ("Browser does not support HTTP Request")
 		return
 	} 
	var url="viewForm.php"
	url=url+"?dt="+escape(dt)
	url=url+"&vID="+escape(vID)
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function stateChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
 		document.getElementById("forms").innerHTML=xmlHttp.responseText;
 	} 
} 

function GetXmlHttpObject(){ 
	var objXMLHttp=null
	if (window.XMLHttpRequest){
 		objXMLHttp=new XMLHttpRequest()
 	}else if (window.ActiveXObject){
 		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
 	}
	return objXMLHttp
}

viewForm.php

<?php
$dt     = $_REQUEST['dt'];
$vID    = $_REQUEST['vID'];
if($vID == 0){?>
	<form>
	&nbsp; <input type="text" name="texten" id="texten" style="width:400px">
	<input type="hidden" value="<?=$dt?>" name="dt" id="dt">
	<input type="button" value="Spara" onclick="savePost()">
	</form>
<?}else{
	require ("../inc/db.php");
	$result = mysql_query("Select vID,texten From kal Where vID=$vID");
	$row = mysql_fetch_array($result);?>
	<form>
	&nbsp; <input type="text" name="texten" id="texten" style="width:400px" value="<?=$row['texten']?>">
	<input type="button" value="Ändra" onclick="updatePost(<?=$row['vID']?>)">
	</form>

<?}?>

Hur ska man skriva för att få div värdet i index.php att komma med till ajax.js till funktionen stateChanged. Förstår någon så hjälp tack...

Medlem sedan dec. 20011 860 inlägg
#2

Jag fick till det. La en global variabel utanför och sedan la jag till så att datumet skickades med på alla funktionerna och sparade det till den globala variabeln.

var xmlHttp
var dtSC = "";

function viewForm(dt,vID){
	dtSC = dt;
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
 		alert ("Browser does not support HTTP Request")
 		return
 	} 
	var url="viewForm.php"
	url=url+"?dt="+escape(dt)
	url=url+"&vID="+escape(vID)
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=stateChanged
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function stateChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
 		document.getElementById("forms_"+dtSC).innerHTML=xmlHttp.responseText;
 	} 
} 

function GetXmlHttpObject(){ 
	var objXMLHttp=null
	if (window.XMLHttpRequest){
 		objXMLHttp=new XMLHttpRequest()
 	}else if (window.ActiveXObject){
 		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
 	}
	return objXMLHttp
}
282 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
147 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)