[RESOLU] OnSubmit dans une nouvelle page noovel onglet

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Serenodo
Messages : 11
Enregistré le : 18 févr. 2020, 14:36
Localisation : Savigny le temple
Contact :

[RESOLU] OnSubmit dans une nouvelle page noovel onglet

Message par Serenodo » 18 févr. 2020, 14:53

Bonjour,
J'utilise pour des recherches personnelles, sur un site hébergé sur mon pc , un script JS moteur de recherche.
J'aimerai ne pas perdre ma page d'index quad je lance une recherche.
J'aimerais que le résultats de la recherche s' ouvre dans une page de mon site et dans un nouvel onglet.
Je n'y connais rien, j'ai déjà mis plus de deux heures pour installer le moteur de recherche et comprendre comment le mettre à jour.
Je vous joint le code.

Code : Tout sélectionner

<head>

<link href="css.css" rel="stylesheet" type="text/css" />

<title>SITE ECRITOIRE PERSO NE PAS DIFFUSER</title>

    <script src="Ecritoire\data.js"></script>
    <script type = 'text/javascript'>
<!--
/* FUNCTION INCLUDE */



	function afficher()
	{
		document.writeln( '<h3><a target="_blank" rel="noopener" href=' + this.url + '>' + this.titre
		+ '</a></h3><p class=noindent>' + this.keyword + '<br><a target="_blank" rel="noopener" href=' + this.url + '>' + this.url + '</a></p>\n' );
	}

	function Stock( titre_in,keyword_in,url_in )
	{
		this.titre		= titre_in;
		this.keyword	= keyword_in;
		this.url		= url_in;
		this.afficher	= afficher;
	}

	

/* Cette fonction réécrit entièrement la page web pour y afficher les résultats */
	function rechercher( chaine )
	{
		
		var trouved = 0;
		chaine = chaine.toUpperCase();
		var data = new Array();
		store( data );

		document.writeln( "<html><head><title>Résultats de la recherche</title><link href='code.css' rel='stylesheet' type='text/css'></head>" );
		document.writeln( "<body class='article'><div class='alone'>" );
		document.writeln( "<h1>Résultats de la recherche >>>>  "+chaine+"</h1>" );

		for( var i=0; i<data.length ; i++ )
		{
			if(( data[i].titre.toUpperCase().indexOf( chaine ) != -1 )
			|| ( data[i].keyword.toUpperCase().indexOf( chaine ) != -1 )
			|| ( data[i].url.toUpperCase().indexOf( chaine ) != -1 ))
			{
				data[i].afficher();
				trouved ++;
			}
		}

		if( !trouved )
		{
			document.writeln( "<p style='color: red; font-weight: bold;'>Aucune réponse n'a été trouvée pour ce mot clé dans la GED SSPG. </br></br> besoin d'une procédure <a href=Ecritoire/creation de_procedure.oft'> <b>mail </b></a>avec les bonnes infos</p>");
		}

		document.writeln( "<p style='color: blue; font-weight: bold;'>"+trouved+" réponse(s) trouvée(s) pour le mot-clé "+chaine);
		document.writeln( "</p><hr><form><input type='button' value='Nouvelle recherche ?' OnClick='window.location=\"moteurRecherche.html\"'></form></div>" );
		document.writeln( "</body></html>" );
		document.close();
	}

//-->
	</script>

</head>

<body>
	
	<div id="Header0">
	<center>
	<img src="Img/logoScc2.png"/>
	</center>
	tata
	</div>
	
	<div id="Header2">
		
		<div class="HeaderRecherche">
			
			<center>
				<form name="rech" OnSubmit="rechercher( document.rech.champ.value );">
				<input type="text" name="champ"    size="70"><BR>
				<input type="submit" name="valide" value="Rechercher">
				</form>


				<noscript><p>
				Votre navigateur ne reconnaît pas le JavaScript, le script de recherche ne pourra pas marcher.
				</p></noscript>
			</center>
			
		</div>
		
	</div>

	<div id="Corps">
	toto
	</div>
	<div id="Footer">
	toto
	</div>
</body>

</html>

et la code pour la recherche DATA.js

Code : Tout sélectionner

function store (data)
{
data[0 ] = new Stock("GUIDE NOUVELLE", "message d'erreur ","Doc/Message_erreur_.docx" );
		data[1 ] = new Stock("GUIDE NOUVELLE", ","Changer_numero_.","Doc/Changer_numero_.txt" );
		data[2 ] = new Stock("GUIDE NOUVELLE", ","article non géré dans la division.","Doc/Article_non_géré_dans_la_division.docx" );
		data[3 ] = new Stock("GUIDE NOUVELLE", ","Combinaison d'article type non autorisé ","Doc/Combinaison.docx");
		data[4 ] = new Stock("Guide ROMAN",   "dépassement budget ","Doc/Depassement_budget.docx");
		data[5 ] = new Stock("Guide ROMAN","présentation des tâches ","Doc/presentation_taches.docx");
		data[6 ] = new Stock("GUIDE POEME","Aucne tâche dans un poeme","Doc/_pas_de_tache.txt");
}
Merci très sincèrement de votre aide.
Modifié en dernier par Serenodo le 20 févr. 2020, 11:47, modifié 1 fois.
" L'écriture est mon rempart conte la folie " ----- " Ne laissez personne détruire vos rêves "

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: OnSubmit dans une nouvelle page noovel onglet

Message par webmaster » 18 févr. 2020, 16:37

Bonjour

Il faut utiliser l'ouverture de popup avant le document.writeln() des résultats.

Voir l'exemple "Créer un popup tout en JavaScript" du tuto de cette page :
https://www.toutjavascript.com/savoir/savoir15.php3
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Serenodo
Messages : 11
Enregistré le : 18 févr. 2020, 14:36
Localisation : Savigny le temple
Contact :

Re: OnSubmit dans une nouvelle page noovel onglet

Message par Serenodo » 19 févr. 2020, 08:39

Bonjour @webmaster,

Merci pour ta réponse.
Je viens de visiter le lien, mais je suis trop nul, et je ne sais pas comment faire.
Faut-il que je créé une page spéciale pour avoir les résultats ?
Et puis comment l'appeler dans le code.
Merci .
" L'écriture est mon rempart conte la folie " ----- " Ne laissez personne détruire vos rêves "

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: OnSubmit dans une nouvelle page noovel onglet

Message par webmaster » 20 févr. 2020, 11:17

Bonjour

J'ai repris le script du post initial et mis en place l'écriture dans le popup ici
https://www.toutjavascript.com/user/search-onglet.html

Le résultat de la recherche s'affiche bien dans le popup, sans modifier la page d'origine.
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Serenodo
Messages : 11
Enregistré le : 18 févr. 2020, 14:36
Localisation : Savigny le temple
Contact :

Re: OnSubmit dans une nouvelle page noovel onglet

Message par Serenodo » 20 févr. 2020, 11:45

Bonjour @webmaster,

Ce n'est que du bonheur.
J'ai comparé ton code au mien ligne par ligne, et j'ai pu modifier.
Un grand et sincère merci à toi.
:D :shock: :D :D
" L'écriture est mon rempart conte la folie " ----- " Ne laissez personne détruire vos rêves "

Répondre