11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai fait une petite boite de texte avec un menu permettant d'en changer le contenu via javascipt.
Au chargement le contenu est dans le dur, mais je voudrais faire en sorte qu'il soit en fait celui de la variable new_content situé dans la condition == 1.
J'ai peut être une piste qui serais au chargement de la page d'appeler la fonction change en lui donnant les valeurs : 'content','1'.

Mais concrétement je ne sais pas comment faire...




<!-- ONGLETS -->
<script type="text/javascript">
function change(cible,onglet) {
	if (onglet == 1) {
	var new_content = "<h1>Titre</h1><p>paragraphe</p>";
	document.getElementById(2).style.background = "#fff";
	}
	if (onglet == 2) {
	var new_content = "<h1>Titre 2</h1><p>paragraphe 2</p>";
	document.getElementById(1).style.background = "#fff";
	}
	document.getElementById(cible).innerHTML = new_content;
	document.getElementById(onglet).style.background = "#ccc";
}
</script>
<!-- ONGLETS -->

<!-- ONGLETS -->
<div id="onglets">
<ul>
<li><a id="1" href="#" onclick="change('content','1')">Lien</a></li>
<li><a id="2" href="#" onclick="change('content','2')">Lien</a></li>
</ul>
<div id="content">
<p>Super contenu</p>
</div>
</div>
<!-- ONGLETS -->
Modérateur
Salut,

Je ne comprends pas bien pourquoi tu passes par Javascript (langage optionnel) Smiley sweatdrop

Ce bout de code ferait la même chose et serait disponible pour tout le monde :
<?php

header('Content-type: text/html; charset=iso-8859-1');

$content = 1;

if(!empty($_GET['content']) && $_GET['content'] == 2)
	$content = 2;

switch($content) {
	case 2:
		$code = '<p>coucou</p>';
	break;
	default:
		$code = '<p>salut</p>';
}

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
		<title>Exemple</title>
	</head>
	<body>

<ul>
	<li><a href="index.php?content=1">Lien</a></li>
	<li><a href="index.php?content=2">Lien</a></li>
</ul>
<div id="content">
	<?php echo $code; ?>
</div>

	</body>
</html>


PS : Un identifiant ne doit jamais commencer par un chiffre; c'est invalide. Smiley cligne
Oups oui pour l'identifiant ! , en plus je le sais
Effectivement j'utilise du js alors qu'en php c'est faisable... le seul inconvénient c'est que je voudrais éviter le rechargement de la page complète...
Modérateur
supercanard a écrit :
le seul inconvénient c'est que je voudrais éviter le rechargement de la page complète...
Dans quel but ?

Pour peu que tu aies optimisé ta page, ça ne se voit pas...
C'est pas faux. disons que je trouve bête de devoir recharger une page entière ou seulement un petit paragraphe va changer.
Mais bon comme tu dis ça ne se véra même pas si la page est légère et c'ets le cas en plus.