11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
Heureusement que le Net est insensible au Covid-19 ! Il y a bien assez d'autres virus sur le réseau !
Bon, soyons sérieux. J'essaie de passer une adresse dans <a href =, mais ça ne fonctionne pas comme je le veux. Il me semble avoir un problème JS ou html.
La page d'envoi :

<html>
<head>
<title>Envoi des paramètres</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<h2>Envoi: </h2>

<p>Remplir les champs ci-dessous et click sur le bouton.</p>
<form name="maforme" method="GET" action="T2.html" accept-charset="ISO-8859-1">

    <p> <input  type = "text" name="titre" value = "recherche dans l'école" ></p>
    
	<p> <input  type = "text" name="date" value = "2008.12.12" ></p>

    <p> <input  type = "text" name="source" value = "ion"></p>
    
	<p> <input type = "text" name="retour" value = "T1.html"></p>
		
    <p> 
		<input type="button" onclick="location.href='T1.html'" value="Annuler">
        <input type="submit" name="submit" value="Lire ce document">
    </p>
</form>

</body>
</html>

Et la page de réception :

<html>
<body>
	<h2>Reçu: </h2>
	<h2><p>Titre : <span id = "titre"</span></p></h2>
	<p> <img id = "source" Width  = "180" Height = "270" alt="1"/>
	<p><h2> Retour : <span id="retour"</span></h2></p>
	<p><h2> Date : <span id="date"</span></h2></p>
	
<!-- Ici le script JS -->	
	<script type="text/javascript">
	function addsource()
	{
		var parameters = location.search.substring(1).split("&");

		var temp = parameters[0].split("=");
		l = unescape(temp[1]);
		var tit = l.replace(/\+/g,' ');
		
		var temp = parameters[1].split("=");
		d = unescape(temp[1]);
		d = d.replace(/\+/g,' ');
		var date = d;
		
		var temp = parameters[2].split("=");
		c = unescape(temp[1]);
		c = c.replace(/\+/g,' ');
		var srcimg = "images/" + c + ".jpg";
		
		var temp = parameters[3].split("=");
		a = unescape(temp[1]);
		a = a.replace(/\+/g,' ');
		var ret = a ;
		
		document.getElementById("titre").innerHTML = tit;
		document.getElementById("date").innerHTML = date;
		document.getElementById("source").src = srcimg;
		document.getElementById("retour").innerHTML = ret;
	};
	addsource();
	</script>
	<a href id="retour">Retour</a>	

	</body>
</html>

A la réception. j'ai bien mes champs séparés, visibles. Le seul qui me pose un problème, c'est

<a href id="retour">Retour</a>	

Qui ne répond pas. Mais si on passe le pointeur dessus, il ne s'affiche pas le contenu de 'retour', mais toute la variable 'paramters', alors que dans le corps de la page, j'ai bien à l'affichage le nom de ma page de retour.
Si quelqu'un à une idée, ou une suggestion, je suis preneur !
En attendant, merci à tous et cordiales salutations
Horace
hello,

pour target dans un href, encore faut il le préciser, dans le href Smiley smile

<a href="#retour">retour</a>
Bonjour Jencal, bonjour à tous,
Merci de le réponse, mais ça ne va toujours pas !
Quelle que soit la façon dont je traite cette cible, j'ai toujours comme champ :

file:///C:/WorkSite/Test%20JS/T2.html?titre=recherche+dans+l%27%E9cole&date=2008.12.12&source=ion&retour=T1.html&submit=Lire+ce+document

Ce qui est le contenu de tous les paramètres passés d'une page à l'autre !
Le dièse ne change rien.
Autre curiosité, qui peut mettre quelqu'un sur la piste ?
Dans la barre adresse de Firefox, au lieu d'avoir l'url de la page affichée, j'ai aussi tous les paramètres !
Curieux, non ?
Et on voit bien que dans le 4ème paramètre, il y a bien 'retour=T1.html', texte qui est bien reconnu à l'affichage, voir ligne

	<p><h2> Retour : <span id="retour"</span></h2></p>	

au début du body !
Serait-ce une facétie du navigateur ?
Ben non, j'ai le même résultat avec Chrom ou IE.
Comprenne qui pourra !
Merci à tous
Horace
Bonjour,
Merci à tous ceux qui m'ont guidé dans cette curieuse affaire.
En fait, la solution

<a href id="lien">Retour</a>	

Est tout à fait opérationnelle, mais, après tâtonnement, car je n'avais pas compris qu'il fallait ajouter, dans JS :

		document.getElementById("lien" ).href = ref;

Et voilà ... j'ai appris quelque chose, et j'ai suffisamment galéré pour ne jamais l'oublier, si besoin.
Avec mes amitiés et me remerciements
Horace
Meilleure solution