Signaler

Passages des paramètres sans utiliser bouton submit

Posez votre question ELALAOUI2 25Messages postés samedi 14 février 2015Date d'inscription 19 juin 2017 Dernière intervention - Dernière réponse le 19 juin 2017 à 15:31 par ELALAOUI2
salut tout le monde , svp

je veux créer une page qui contient une zone de recherche, et le résultat de la recherche s'affiche au fur et au mesure sous le formulaire en utilisant AJAX

le code HTML
<!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 language="JavaScript">

function createInstance()
{
var xhr;
if (window.XMLHttpxhruest)
{
xhr = new XMLHttpxhruest();
}
else if (window.ActiveXObject)
{
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e)
{
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e)
{
alert("XHR not created");
}
}
}
return xhr;
};

function storing(data, element)
{
element.innerHTML = data;
}

function submitForm(element)
{
var xhr = createInstance();

xhr.onreadystatechange = function()
{
if(xhr.readyState == 4)
{
if(xhr.status == 200)
{
storing(xhr.responseText, element);

}
else
{
alert("Error: returned status code " + xhr.status + " " + xhr.statusText);
}
}
};
xhr.open("GET", "serveur_Ajax.php", true);
xhr.send(null);
}

</script>
</head>

<body>
<form id="form1" name="form1" method="get" action="serveur_Ajax.php">
<div align="center">
<table width="338">
<tr>
<td width="330" height="62"><label for="recherche">Recherche: </label>
<input type="text" name="search" id="search" onkeypress="submitForm(document.getElementById('storage'))" /></td>
</tr>
<tr>
<td height="149"><p> <span id="storage"> </span></p></td>
</tr>
</table>
</div>
</form>
</body>
</html>


le code PHP
<?php
$cnx = mysql_connect( "localhost", "root", "") ;
$db = mysql_select_db("bd");



$search= $_GET['search']);


$sql = "SELECT nom, prenom FROM Client WHERE nom LIKE '".$search." %' or prenom LIKE '".$search." %'";

$sql = "SELECT Nom, Prenom FROM client WHERE Prenom LIKE '".$search."%'";

$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;



if($requete){

echo "<ol>";
while ($data = mysql_fetch_array($requete)) {

echo "<li><a href='#' rel="nofollow noopener noreferrer" target="_blank">".$data."</a></li>";
}

echo "</ol>";



}


mais il m'affiche ce résultat :

http://static.ccm2.net/www.commentcamarche.net/pictures/m6dEZZiu4yX2LDz6sFFaI9EszkrSmglMtfPLrgOBYIRGgwC4ZsFDj0tFTB0KGOwO-19251166-10211850875180141-2009158897-n.png
Afficher la suite 
Utile
+0
plus moins
Salut,

Il faut transmettre le paramètre search dans la requête ajax :
var input = document.getElementById("search");
var inputData = encodeURIComponent(input.value);

xhr.open("GET", "serveur_Ajax.php?" + input.name + "=" + inputData, true);
xhr.send(null);


Bonne journée,
ELALAOUI2 25Messages postés samedi 14 février 2015Date d'inscription 19 juin 2017 Dernière intervention - 19 juin 2017 à 15:24
quand j'ajoute ces lignes , le résultat disparu complètement, même le message d'erreur !!!
Répondre
ELALAOUI2 25Messages postés samedi 14 février 2015Date d'inscription 19 juin 2017 Dernière intervention - 19 juin 2017 à 15:31
et maintenant quand je fait à la main cette ligne comme ça :
xhr.open("GET", "serveur_Ajax.php?search=Driss", true); 

il me donne ce message :
 Resource id #4 
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !