Javascript et submit dans nouvelle fenêtre

Theophile76 Messages postés 2115 Statut Membre -  
Mihawk Messages postés 4753 Statut Contributeur -
Bonjour,
dans ma page j'ai une case de type input et un bouton de telle sorte à ce que quand on écrive du texte dans la case, et qu'on clique sur le bouton, ça lance une recherche sur un site.
Ça fonctionne bien mais il y un un probleme : la recherche se lance dans la meme page hors je voudrais qu'elle se lance dans une autre page.

Voici les codes que j'utilise.

Ma case input :
<form onsubmit="document.location.href='monsite/search/'+valeurdemacase.value; return false">          
<input id="text" autocomplete="off" name="valeurdemacase" type="text" />          
</form> 


Mon bouton :
<td class="bouton" onclick="document.location.href='monsite/search/'+document.forms[0].elements['valeurdemacase'].value; return false;">monsite</td>          
<td> 


Mon code JS valeurdemacase :
window.onload = function() {          
     document.forms[0].elements['valeurdemacase'].focus();          
 };


Seriez vous comment faire ?
(J'ai essayé de remplacer les document.location.href= par des window.open( mais ça ne fonctionne pas)

Merci.



On s'ennuie pas avec l'informatique :)

7 réponses

  1. Theophile76 Messages postés 2115 Statut Membre 388
     
    Merci mais comment faire ? car je travail pas avec des lien a href mais du onclick pour pourvoir utiliser mon JS
    0
  2. Theophile76 Messages postés 2115 Statut Membre 388
     
    UP
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    essayes avec le target dans la balise cliquée:

    <td class="bouton" onclick="document.location.href='monsite/search/'+document.forms[0].elements['valeurdemacase'].value; return false;" target="_blanck" >monsite</td>


    le onsubmit= "..." dans la balise <form ne sert a rien car le click ne postera pas le formulaire (pas de submit)
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Theophile76 Messages postés 2115 Statut Membre 388
     
    Non ça ne fonctionne pas =s
    0
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    une autre solution radicalement différente, est ce que tu peux t'en inspirer ?

    <script type="text/javascript">
    /*cette fonction JS sert a verifier que l'on a bien sisi qq chose avant de lancer la recherche, si oui elle retourne true ce qui autorise l'envoi du formulaire, sinon elle renvoie false et le form ne part pas (plus mesage d'alerte)*/
    
    function verif_vide(id_input){
    	var input_saisie = document.getElementById(id_input);
    	if(input_saisie.value.length == 0 ){
    		alert("Vous devez saisir une valeur dans le champ rechercher !");
    		return false;
    	}
    	return true;
    }
    </script>
    <?php
    if(isset($_POST['rechercher'])){
    	$valeur_recherchee=$_POST['valeurdemacase'];
    	///TEST
    	
    	echo "Vous avez saisi: <b>".$valeur_recherchee." </b>";
    	//et la tu fais ta recherche dans ton site et tu affiches
    }
    //ce else si tu ne veux pas que l'imput de saisie s'affiche à nouveau après la recherche, sinon tu le supprime
    else{
    	//affichage du formulaire de saisie
    ?>
    <form name="form_recherche" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" target="_blanck" onsubmit="return verif_vide('texte_saisi')" >          
    <input id="texte_saisi" autocomplete="off" name="valeurdemacase" type="text" value="" />
    <input id="bouton_rech"  class="bouton" name="rechercher" type="submit" value="mon site" />          
    </form> 
    
    <?php
    } //fin du else
    ?>
    0
  7. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Sujet difficile : cela dépend surtout des choix du navigateur de l'internaute... On ne peut pas forcer tous les navigateurs à ouvrir les liens dans de nouvelles fenêtres...

    Pas de solution miracle donc...
    0
    1. Theophile76 Messages postés 2115 Statut Membre 388
       
      Salut, c'est pas forcement nouvelle fenêtre hein, ça peut être nouvel onglet aussi.
      0
    2. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Oui j'imagine bien, mais encore une fois, tous les navigateurs ne gèrent pas les fenêtres / onglets de la même manière...
      Le plus simple resterait une popup de taille max (100%, 100%) mais adios la barre de menu.
      0