Rediriger une réponse d'un formulaire vers une nouvelle page web

Résolu/Fermé
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 - Modifié par jordane45 le 2/03/2015 à 16:39
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 - 2 mars 2015 à 19:42
Bonjour toutes et tous,

Voilà, mon site est réalisé avec des cadres (oui je sais, ce n'est pas bien ^^). J'ai créé un formulaire (un menu déroulant tout simple) où selon la réponse, l'internaute est redirigé sur une page extérieure dans mon cadre. Ce que je veux c'est que pour l'un des choix, il soit possible que l'internaute soit redirigé vers une page totalement nouvelle. J'ai beau mettre la balise - target="_blank" - ou target="_parent", mon site ne calcule pas ces conditions.

Voici mon code pour que ce soit plus clair. Je veux qu'uniquement la valeur "Retour à l'accueil et au questionnaire test" puisse apparaître dans une nouvelle fenêtre.
<FORM>
<SELECT NAME="ListeUrl" SIZE=1 onChange="ChangeUrl(this.form)">
<OPTION SELECTED VALUE="">-Choisissez un thème-
   
  <OPTION VALUE="[http://www.lemonde.fr]">Accédez au site du monde

  <OPTION VALUE="index.php" target="_blank">Retour à l'accueil et au questionnaire test
</SELECT>
</FORM>


En vous remerciant pour vos conseils et aides,

EDIT : Ajout des balises de code
A voir également:

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié par jordane45 le 2/03/2015 à 17:28
Bonjour,

La balise target est utilisée dans les balises de lien (<a ) ou dans les instruction javascript de type window open ....
Le fait de le mettre dans les balises OPTION de ton select ne changera rien

A la limite, il faudrait un peu modifier ton code pour pouvoir l'ajouter dans le VALUE ... et en tenir compte dans ta fonction ChangeUrl

Par exemple, dans ton OPTION
<select name="ListeUrl" size=1 onChange="ChangeUrl(this.value)">
<option value=""  selected>-Choisissez un thème- </option>
<option value="http://www.lemonde.fr">Accédez au site du monde</option>
<option value="index.php|_blank" >Retour à l'accueil et au questionnaire test</option>
</select> 

puis dans le javascript
function ChangeUrl(elmValue){
 if(elmValue !=''){
  var strSplit = elmValue.split("|");
  var url = strSplit[0];
  if(strSplit.length>1){
//   var target = strSplit[1]
   var target = strSplit[1];
  }
  if(target){
   window.open(url , target );
  }else{
   document.location = url;
  }
 }
}


EDIT : Correction , manquait un point virgule sur la ligne commentée

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

.
Cordialement,
Jordane
0
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 5
2 mars 2015 à 17:13
Merci pour ta réponse jordane45.
Mais quelles modifications faire sur le javascript pour que la sélection de la réponse puisse automatiquement être exécutée sans appuyer sur aucun bouton de validation. Car avec ce code javascript, lorsque je sélectionne une des deux réponses, il ne se passe rien.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
2 mars 2015 à 17:27
Si tu as utilisé mon code;.. logiquement tu n'as rien de plus à faire
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
2 mars 2015 à 17:27
Edit :
Désolé.. il manquait un point-virgule sur une ligne...
<html>
<head>
	<title>TEST</title>
</head>
<body>
<select name="ListeUrl" size=1 onChange="ChangeUrl(this.value)">
<option value=""  selected>-Choisissez un thème- </option>
<option value="http://www.lemonde.fr">Accédez au site du monde</option>
<option value="index.php|_blank" >Retour à l'accueil et au questionnaire test</option>
</select>  
</body>
</html>
<script type="text/javascript">

function ChangeUrl(elmValue){
 if(elmValue !=''){
  var strSplit = elmValue.split("|");
  var url = strSplit[0];
  if(strSplit.length>1){
   var target = strSplit[1];
  }
  if(target){
   window.open(url , target );
  }else{
   document.location = url;
  }
 }
}
</script>
0
djstoun Messages postés 291 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 5
2 mars 2015 à 19:42
Effectivement, cela fonctionne. Je ne sais pas où j'avais fauté. ;) Bref, merci beaucoup. J'ai capté le problème initial.
En te remerciant.
0