Problème création menu

titia80000 Messages postés 12 Date d'inscription vendredi 15 septembre 2006 Statut Membre Dernière intervention 27 décembre 2007 - 26 déc. 2007 à 23:42
titia80000 Messages postés 12 Date d'inscription vendredi 15 septembre 2006 Statut Membre Dernière intervention 27 décembre 2007 - 27 déc. 2007 à 18:36
bonjour,
pour un projet où le professeur nous demande de créer un générateur de page d'accueil, je souhaite que l'utilisateur puisse créer un menu avec des parties et des sous parties. L'utilisateur entre le nombre de partie qu'il veut et un input text apparait pour chaque partie pour que celui-ci entre le  nom de cette partie et pour chaque partie une fenêtre s'affiche pour lui demander combien il veut de sous partie.
Je réussis à afficher  les input text pour chaque partie et a faire apparaitre les fenêtres prompt mais je n'arrive pas à récupérer les valeurs des fenêtres ni a afficher les input text pour les sous parties.

exemple :

Combien de partie désirez-vous ? : 2
Entrez le nom de la partie 1 :
(une fenêtre s'affiche : combien de sous-partie désirez-vous pour la partie 1 : 2)
       Entrez le nom de la sous-partie 1 :
       Entrez le nom de la sous-partie 2 :
Entrez le nom de la partie 2 :
(une fenêtre s'affiche : combien de sous-partie désirez-vous pour la partie 2 : 1)
        Entrez le nom de la sous-partie 1 :

et voici mon code :

<HTML>
<HEAD>
<script language="javascript">
<!--
function affiche_html(obj1, obj2)
{
var nombre_de_fois=parseInt(document.getElementById(obj1).value);
var n=1;
for(i = 0; i < nombre_de_fois; i++)
    {
    document.getElementById(obj2).innerHTML += '
Entrez le nom de la partie '+n+'

';
    n=n+1;
    }
}

function affichesp(obj3)
{
var nombresp=parseInt(document.getElementById(obj3).value);
var n=1;
for(i = 0; i < nombresp; i++)
    {
    nom = prompt('Combien désirez-vous de sous-partie pour la partie'+n,'0');
    document.getElementById("sp"+n).innerHTML += '
Entrez le nom de la sous-partie '
    n=n+1;
    }
}

function reinitialise(obj)
{
document.getElementById(obj).innerHTML = ""
}
-->
</script>
</head>

<form action=""name="form">
Combien de partie désirez-vous ?

</form>

</HTML>

j'espère avoir été assez claire...pourriez vous me dire ce qui cloche dans mon code, à force de chercher et d'essayer je m'y perd un peu...sinon pourriez vous m'indiquer comment je pourrais m'y prendre. Je pense avoir un soucis avec les variables dans les boucles mais je ne suis pas sure.
Merci d'avance

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 déc. 2007 à 12:23
Bonjour,

    bon... déjà :

function affiche_html(obj1, obj2)
{
var nombre_de_fois=parseInt(document.getElementById(obj1).value);
var n=1;
for(i = 0; i < nombre_de_fois; i++)
    {
    document.getElementById(obj2).innerHTML += '
Entrez le nom de la partie '+
                n+'
">

';
    n=n+1;
    }
}

    ça plantera plus... sans préjuger du reste.

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
titia80000 Messages postés 12 Date d'inscription vendredi 15 septembre 2006 Statut Membre Dernière intervention 27 décembre 2007
27 déc. 2007 à 15:16
merci beaucoup...j'ai enfin l'impression d'avancer...et pour récupérer le résultat de la fenêtre prompt ? je pense qu'après il faudrait que je remette une boucle for pour afficher le nombre de sous partie comme j'ai fait avec le nombre de partie
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 déc. 2007 à 18:27
>>et pour récupérer le résultat de la fenêtre prompt ?
    dans ton cas c'est nom, ou alors je n'ai pas compris ?

lu chez selfHTML :
prompt()
Montre une boite de dialogue avec un champ de saisie, un bouton "OK" et
un bouton "interrompre".
L'utilisateur peut entrer quelque chose dans le champ de saisie.
La méthode prompt() renvoie la valeur entrée.
Ainsi, il est possible de traiter dans un Script les entrées de l'utilisateur.
Attend deux paramètres:
1. texte d'invite = Texte décrivant ce que l'utilisateur doit entrer.
2. occupation du champ par défaut = Texte occupant le champ de saisie par défaut.
Si vous désirez que le champ de saisie soit vide, alors transmettez une chaîne de
caractères vide "".






<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
titia80000 Messages postés 12 Date d'inscription vendredi 15 septembre 2006 Statut Membre Dernière intervention 27 décembre 2007
27 déc. 2007 à 18:36
je viens de régler mon problème, en fait je n'arrivais pas à utiliser la valeur que je récupérer mais j'ai réussi à trouver mon erreur.
Encore une fois merci beaucoup de votre réponse.
0
Rejoignez-nous