Probleme avec Option() sous IE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme avec Option() sous IE

par Tictac » 23 sept. 2006, 09:30

:idea: J'ai trouvé , je ne sais pas pq ca n'allait pas mais bon, c'est réglé.

Dans le reste de la page , j'inclus un fichier js , avec mes fonctions javascript .

J'ai mis le code d'ajout dans la base de donnée en dessus , et ca fonctionne.

Je ne fais pourtant appel à aucune fonction de ce fichier pendant l'enregistrement.

Merci pour ton aide ;)

par Ryle » 22 sept. 2006, 14:10

Plutôt curieux vi... et le insert ne se fait bien qu'une seule fois ?
si tu fais un alert du $id, tu obtiens deux fois la même valeur ou deux id différents ?

Tu as encore du code à jouer après le echo "<script>" ? Si ce n'est pas le cas essaye de mettre un exit() voir si ca change quelque chose ou pas :)

par Tictac » 22 sept. 2006, 13:08

C'est dans le select , j'ai 2 fois l'option

Je dois egémelent avoir 2 fois mon hidden dans zone car quand je fais un alert dans la partie entre <script> et </script> du echo , j'ai 2 fois le alert !!

Bizarre !!

par Ryle » 22 sept. 2006, 13:06

Il te rajoute également 2 champs au lieu d'un dans ton "zone" ? ou c'est juste l'ajout dans le select qui pose problème ?

par Tictac » 22 sept. 2006, 12:23

ca fonctionne , j'ai juste un soucis car il s'ajoute 2 fois !!!

Comprend pas pq !! j'ai fait un test mais je n'ai pas de boucle dans la page !!! je comprend pas pq ca le fait 2 fois.

Une idée ? merci

Voici le code d'ajout de ma page d'ajout (popup)
if($_POST['action'] == "add")
	{
	//Traitement des valeurs
	$name = addslashes(trim(ucwords($_POST['cat_name'])));
	$desc = addslashes(trim($_POST['cat_desc']));
	$qry = mysql_query("INSERT INTO categorie (categorie_name,categorie_desc) VALUES ('".$name."','".$desc."')") or die (mysql_error());
	$id = mysql_insert_id();
	echo "<script>
	parent.opener.add_option('".$id."', '".ucwords($_POST['cat_name'])."','categorie',true);
	window.opener.document.getElementById('zone').innerHTML += '<input name=\"desc_".$id."\" id=\"desc_".$id."\" type=\"hidden\" value=\"".$desc."\" />';</script>";
	}
Si je fais un alert dans la partie javascript , je l'ai 2 fois !! je comprend pas pq !!! :cry:

par Tictac » 22 sept. 2006, 12:10

ok ; merci , je vais essayé ;)

par Ryle » 22 sept. 2006, 10:29

Ca doit être un bug de IE car le code est correcte... je comprend vraiment pas pourquoi ca ne fonctionne pas...

A défaut, ce que tu peux faire, c'est dans ta page principale, ajouter une fonction qui créera ta nouvelle option, et que tu appelles depuis ta popup :

Code : Tout sélectionner

function add(id, text) { var longueur = document.getElementById('categorie').length; document.getElementById('categorie').options[longueur] = new Option(text, id); }
Et dans ta popup tu modifies par :
echo "parent.opener.add($id, '$text');";

Probleme avec Option() sous IE

par Tictac » 21 sept. 2006, 21:27

salut , j'ai une page via laquel j'ouvre une fenetre me permettant d'ajouter un champ <option> dans un <select>.
Le soucis , ca fonctionne sous Firefox mais pas sous IE !

Sous IE , j'ai bien la mise en mémoire dans la database mais il ne mets pas à jour dans la page opener !

Voici le code =>
$name = addslashes(trim(ucwords($_POST['cat_name'])));
	$desc = addslashes(trim($_POST['cat_desc']));
	$qry = mysql_query("INSERT INTO categorie (categorie_name,categorie_desc) VALUES ('".$name."','".$desc."')") or die (mysql_error());
	$id = mysql_insert_id();
	echo "<script>var new_option = new Option('".$_POST['cat_name']."','".$id."');
	var longueur = window.opener.document.getElementById('categorie').length;
	window.opener.document.getElementById('categorie').options[longueur] = new_option ;
	window.close(this);</script>";
Merci d'avance pour votre aide