11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous ! j'ai un petit problème avec une de mes fonctions ajax

Je souhaite générer un tableau grâce à un code php à partir d'une requête sql et mettre sur le coté des + et des - qui afficheront masqueront certains détails du tableau.

Pour le moment lorsque je clique sur les boutons + ou - sa ne change rien mon tableau.

Je me demande si mon problème est dans ma fonction qui est la suivante :



function afficher(co,cha,de)
{ 	var obj;
	if (navigator.appName.search("Microsoft") > - 1)
	{	obj = new ActiveXObject ("MSXML2.XMLHTTP");
	}
	else
	{	obj= new XMLHttpRequest();
	}
	obj.open('POST',co,true);
	obj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	obj.onreadystatechange = function()
	{ 	if (obj.readyState == 4 && obj.status == 200)
		{ 	document.getElementById(de).innerHTML = obj.responseText;
				
		}
	};
	obj.send(cha);
	return(false);
}
 
function afficherD(Date,Code)
{	var ch;
	ch="date="+Date+"&code="+Code;
	afficher("det.php",ch,"detail");
}


ou dans ma façon de l'utiliser :


print '<td><input type="button" value="+" OnClick=\"afficherD(" . $val["DATE"] . , . $val["CODE"] .");\"></td>';


Je vous remercie d'avance pour l'aide que vous allez j'espère m'apporter.
Modifié par Laurie-Anne (18 May 2010 - 13:29)
Bonjour,


Cela à l'air bon, le problème est dans le php pour faire apparaitre le tableau. Il faut se cantonner à l'utilisation du ' ou du " comme marqueur des bords de chaîne, donc il faudrait mettre soit :

print '<td><input type="button" value="+" OnClick="afficherD(' . $val["DATE"] . ',' . $val["CODE"].');"></td>';

Soit :

print "<td><input type=\"button\" value=\"+\" OnClick=\"afficherD(" . $val["DATE"] . "," . $val["CODE"] .");\"></td>";

Et dans le cas où le code ne contiendrait pas que des chiffres il faudrait utiliser htmlspecialchars avec le paramètre ENT_QUOTES ^^