Créer un formulaire sur une page html vide
Bonjour,
Je souhaite réaliser la création d'un formulaire en Js au chargement de la page.
mon fichier index.html :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="script.js"></script>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
</body>
</html> |
Mon fichier javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| (function(){
var formCreate = {
init: function(){
window.addEventListener('load', function(event){
var tab = ['A', 'B', 'C', 'D', 'E'];
var form = document.createElement('form');
document.body.appendChild(form);
var select = document.createElement('select');
form.appendChild(select);
var option = document.createElement('option');
do{
option.innerHtml = tab[i];
select.appendChild(option).value=tab[i];
i++;
}while(i<5);
})
}
}
formCreate.init();
})(); |
Je souhaite créer un formulaire avec une liste déroulante dont les items vont se trouver dans un tableau. Au chargement de la page j'ai bien mes balises <form></form> et <select></select> qui apparaissent mais ça coince pour les options.
Quelqu'un aurait-il une idée de mon erreur?
Merci
Amélioration du formulaire...
J'essaye de poser les fondations de mon formulaire mais je rencontre des difficultés à nouveau... Tout s'enchaine correctement jusqu'à l'ajout du paragraphe et de la balise select ... j'ai du mal comprendre un truc à propos de la fonction appendChild
Voici mon code modifié par rapport à ma première question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| (function(){
var formCreate = {
init: function(){
window.addEventListener('load', function(event){
var tab = ['A', 'B', 'C', 'D', 'E'];
var form = document.createElement('form');
document.body.appendChild(form);
var field = document.createElement('fieldset');
form.appendChild(field);
var legend = document.createElement('legend');
field.appendChild(legend);
legend.innerHTML='Correspondance pour :';
var paragraph = document.createElement('p');
field.appendChild('paragraph');
paragraph.innerHTML='Choisissez un point de depart :';
var select = document.createElement('select');
form.field.appendChild(select);
var i=0;
do{
var option = document.createElement('option');
option.innerHTML = tab[i];
select.appendChild(option).value=tab[i];
i++;
}while(i<5);
})
}
}
formCreate.init();
})(); |
Merci de votre conseil avisé. :oops:
Je fais souvent des fautes d'inattention ...
:calim2:
Merci, j'avais effectivement zappé les '' dans la ().
Code modifié :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| (function(){
var formCreate = {
init: function(){
window.addEventListener('load', function(event){
var notesFr = ['Do', 'Ré', 'Mi', 'Fa', 'Sol', 'La', 'Si'];
var notesUs = ['C', 'D', 'E', 'F', 'G', 'A', 'B', 'C'];
var form = document.createElement('form');
document.body.appendChild(form);
var field = document.createElement('fieldset');
form.appendChild(field);
var legend = document.createElement('legend');
field.appendChild(legend);
legend.innerHTML='Correspondance d\'une note Fr en note US :';
var paragraph = document.createElement('p');
field.appendChild(paragraph);
paragraph.innerHTML='Choisissez une note dans la liste :';
var select = document.createElement('select');
field.appendChild(select);
var option = document.createElement('option');
option.innerHTML = '';
select.appendChild(option);
select.setAttribute('id','choix');
var i=0;
do{
var option = document.createElement('option');
var note = notesFr[i];
option.innerHTML = ''+note+'';
select.appendChild(option).value=''+note+'';
i++;
}while(i<7);
var choix;
var element = document.getElementsByTagName('select');
select.addEventListener('change', function(event){
choix = form.select['choix'].value;
})
})
}
}
formCreate.init();
})(); |
J'essaye maintenant de tenter d'écouter un évènement pour tenter de récupérer la valeur du select mais le debugger me dit que la fonction n'est pas définie :roll:
Il faut encore redéfinir le champs?
Merci de votre aide