webForumDet fria alternativet

Ajax och php

PHP

1 svar · 362 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#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
}
260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)