webForumDet fria alternativet

Ajax och php

1 svar · 360 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#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...

AsaMedlem 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
}
125 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)