bonjour,
j'ai une fonction ajax qui me permet sur un onKeyUp de verifier si un champs existe deja dans la base. cela marche sauf dans certains cas :
Aimants 25mm rouge (x10) <= il me dit que l'article n'existe pas et que donc en theorie je peux l'ajoute, sauf qu'en fait je l'affiche de la base mais bon
Boite d'agrafes bebe (boite de 1000)<= la il m'affiche directement la requete sql avec une erreure
//fonction qui recupere l'article du formulaire
fonction ajax
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function afficheArticle(){ var adr=document.getElementById('article2').options[document.getElementById('article2').selectedIndex]; document.getElementById('modifierArticleNouveauNom').value=adr.text; document.getElementById('modifierArticleCodeNomOri').value=adr.value; verifchampsAjx(adr.text,'nomarticle','nom de cet article'); }
page de traitement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function ajx(champs){ var xhr = getXhr(); xhr.open("GET", champs, false); xhr.setRequestHeader('Cache-Control','no-cache'); xhr.send(null); if(xhr.readyState == 4 ) return(xhr.responseText); else return(false); } /////////////////////////////////////// //creation article /////////////////////////////////////// function verifchampsAjx(valeurchamp,adr,ref){ if(valeurchamp != ''){ if(texte = ajx('ajax/'+adr+'.php?'+adr+'='+escape(valeurchamp))){ if(texte == 1) ecrire('<span style="color:#cc0000">le '+ref+' de cet article : <b>'+valeurchamp+'</b> est deja pris</span>'); else if(texte == 2) ecrire('<span style="color:#1A7917">le '+ref+' de cet article : <b>'+valeurchamp+'</b> est libre </b></span>'); else ecrire(texte); } } }
on dirait que c'est le ' et x dans le nom de l'article qui le perturbe, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php include('../verif.php'); //appel du fichier contenant les fonctions et les paramètres de connection de la base. require('../../classeBD.inc'); header("Pragma: no-cache"); header("Expires: 0"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Content-type: application/xml"); //Connection à la base $db = new gestionBD(); $db->connect(); // VERIFICATION $result = $db->sqlSelect("nom",TB_ART,"nom='".$_GET["nomarticle"]."'"); if(mysql_num_rows($result)>=1) echo "1"; else echo "2"; $db->disconnect(); ?>
est ce que vous avez une idee de comment je peux resoudre ce probleme ?
meric beaucoup![]()
Partager