Window.open et URL variable

Résolu
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017 - Modifié par jordane45 le 21/01/2015 à 18:36
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017 - 22 janv. 2015 à 22:53
Salut à tous et... BONNE ANNÉE !

Voilà, j'ai suivi divers forums et échanges d'idées pour trouver le moyen de rediriger un lien d'un List/Menu déroulant vers une page avec window.open(..., '_blank'); et ça ne fonctionne pas.

J'ai donc un List/Menu dont le "option.value=" provient d'une requête MySQL. Lorsque je sélectionne une donnée dans la liste, je souhaite qu'une nouvelle page s'ouvre vers ce lien... Voici mon code QUI NE FONCTIONNE PAS !

function OpenComp()
{
 MyUrl = document.form2.COMPDECLA.value;
 if(MyUrl != 0)
 {
 window.open('MyUrl', '_blank');
 }
}



Est-ce que quelqu'un aurait une idée ?

D'avance merci et excellente soirée à tous.


EDIT : Ajout des balises de code

David

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
21 janv. 2015 à 18:37
Bonjour,

1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2- Une variable ne doit pas être entre quotes...
function OpenComp(){
 MyUrl = document.form2.COMPDECLA.value;
 if(MyUrl ) {
   window.open(MyUrl , '_blank');
 }
}

0
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
21 janv. 2015 à 18:47
Jordane,

Merci pour tes précisions et promis, j'appliquerai cette règle à l'avenir. J'ai enlevé les quotes comme tu l'as suggéré et il ne se passe rien. Je précise que la variable provient d'un Select dont option.value est récupéré après une requête MySQL. L'URL complet (avec https://...) est donc dans ma base de données...

Bien à toi
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
21 janv. 2015 à 19:38
Sans le détail de ton code.. difficile de te répondre....
Est ce que ta fonction se lance au moins ??
Ajoute y un ALERT pour le vérifier.
0
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
22 janv. 2015 à 21:58
Jordane,

Lorsque je mets un ALERT(), la fonction se lance très bien et l'URL repris dans la BDD s'affiche. Lorsque je remets window.open(MyUrl.value); plus rien ne s'effectue.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
22 janv. 2015 à 22:19
D'ou vient ce .value ??
0
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
22 janv. 2015 à 22:26
Mon code avec ALERT (fonctionne)

function OpenComp(){
 var MyUrl = document.getElementById('COMPDECLA');
 if(MyUrl.value != 0) {
   alert(MyUrl.value);
   end();
 }


Mon code avec WINDOW.OPEN (ne fonctionne pas)

function OpenComp(){
 var MyUrl = document.getElementById('COMPDECLA');
 if(MyUrl.value != 0) {
   window.open(MyUrl.value);
 }


Mon bout de code affichant le Menu/List en PHP


                        <select name="COMPDECLA" class="form_Login" id="COMPDECLA" onChange="OpenComp()">
                          <option value="0">Choisir...</option>
                        	<?PHP do{
							mysql_select_db($database_connexion, $connexion);
							$query_compagnie = "SELECT * FROM COMPAGNIES WHERE ID_COMP = '$row_compagnies[IDCOMPAGNIE]'";
							$compagnie = mysql_query($query_compagnie, $connexion) or die(mysql_error());
							$row_compagnie = mysql_fetch_assoc($compagnie);
							?>
                        	<option value="<?PHP echo $row_compagnie['URL'];?>"><?PHP echo $row_compagnie['NOM'];?></option>
                            <?PHP }while($row_compagnies = mysql_fetch_assoc($compagnies));?>
                        </select>


Le .value provient de
$row_compagnie['URL'];
!


Je ne peux pas t'en dire plus. Je ne comprends pas où est l'erreur....
0
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
22 janv. 2015 à 22:53
Je suis un grand débile !!!!!!

Mes préférences Internet bloquait les Pop-up....

Tout fonctionne parfaitement bien. A présent je frais avoir un problème si les visiteurs bloquent les fenêtres surgissantes !

Merci encore de ta précieuse aide et bonne soirée
0
Rejoignez-nous