11485 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
A nouveau confronté avec un problème ... je n'ai pas tout compris, mais qui a tout compris ?
En deux mots :
Je passe une adresse d'image d'une page html à une autre ...
Et j'aimerai que la page 2 affiche l'image, et non l'adresse !
Simple, non ?
ma 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="maform" method="GET" action="T2.html">
    <p> 
        <input  type = "text" name="titre" value = "recherche dans l'école" >
    </p>
    <p> 
        <input  type = "text" name="source" value="bois.jpg" >
    </p>
    <p> 
        <input type="submit" name="submit" value="Envoyer" >
    </p>
</form>

</body>
</html>

Et ma page de réception :

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

</head>

<html>

	<body>
<h2>Reçu: </h2>
<h2><p>Titre : <span id = "titre"</span></p></h2>
<p><b>Source : </b><span id = "source"</span></p>
<p> <img id = "source" Width  = "180" Height = "270" alt="1"/>
	
<!-- 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 ti = l.replace(/\+/g,' ');
		
		var temp = parameters[1].split("=");
		c = unescape(temp[1]);
		c = c.replace(/\+/g,' ');
		var srcimg = "pic/" + c;
		
		document.getElementById("titre").innerHTML = ti;
		document.getElementById("source").innerHTML = srcimg;
	};
	addsource();
	</script>	

	</body>

</html>

Rudimentaire ... C'est le moins que l'on puisse dire !
Question subsidiaire à 2 € !
Mes deux pages sont en utf-8
Si dans le champ 'titre' j'ai un accent, le décodage dans la page 2 n'est pas bon !
Ceci rejoint peut-être ma question posée précédemment sur les '+' apparus dans mon texte !
Toute réponse sera la bienvenue et appliquée dès que ...
Et la suite du projet n'est pas triste, et j'aurai bien sur d'autres questions !
Merci à tous les génies de html et js
Horace
Hello, tu as plusieurs fois le même id source.
Essai plutôt comme ceci Smiley cligne

document.getElementById("source").src = srcimg;

Modifié par stryk (14 Mar 2020 - 02:18)
Et voilà ... Ca marche comme je le voulais !
Merci Stryk de la vitesse de réponse !
Et merci à Alsacréation
Horace