Ajouter un formulaire et ajouter une valeur +1 au clic
Résolu
xml74
Messages postés
186
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir. Comme expliqué dans le titre j'aimerai faire un formulaire qui ajoute un champ texte, et qui ajoute au passage une valeur dans le name.
Je m'explique:
J'ai mon premier input texte
[ ] son nom est par exemple, "episode1"
[Bouton JS] avec une fonction ajout de HTML dans un code
[ ] deuxième champ qui s'ajoute en cliquant sur "Bouton JS", ce dernier aura comme nom, "episode2". Tout ça via JS.
Voici mon script actuelle:
Et voici ma partie HTML
Merci d'avance.
Je m'explique:
J'ai mon premier input texte
[ ] son nom est par exemple, "episode1"
[Bouton JS] avec une fonction ajout de HTML dans un code
[ ] deuxième champ qui s'ajoute en cliquant sur "Bouton JS", ce dernier aura comme nom, "episode2". Tout ça via JS.
Voici mon script actuelle:
<SCRIPT LANGUAGE="JavaScript">
function addField(){
var field = "
<div id='section2' >
<label>Episode /* On ajoute +1 au chiffre de base */ </label>
</div>
<div id='section2' >
<label>Episode (+1) URL </label>
<input type='text' name='url_ep/* Ici on ajoute agalement +1 */_s1\' value='' />
</div>";
document.getElementById('fields').innerHTML += field;
}
Et voici ma partie HTML
<div id="fields">
<div id="section2">
<label>Episode 1 URL </label>
<input type="text" name="url_ep1_s1" >
</div>
</div>
<div id="section2">
<input type="button" onclick="addField()" value="Ajouter un épisode" >
</div>
Merci d'avance.
A voir également:
- Ajouter un formulaire et ajouter une valeur +1 au clic
- Whatsapp formulaire opposition - Guide
- Ajouter liste déroulante excel - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Ajouter une signature sur word - Guide
- Ajouter une application au démarrage - Guide
1 réponse
Bonjour,
Modifie
par ça :
NB : Je note que tu as utilisé DEUX FOIS le même ID .. il faut éviter
Mais bon .. si tu veux un truc propre ... essaye ça :
Cordialement,
Jordane
Modifie
document.getElementById('fields').innerHTML += field;
par ça :
document.getElementById('fields').innerHTML = document.getElementById('fields').innerHTML + field;
NB : Je note que tu as utilisé DEUX FOIS le même ID .. il faut éviter
<div id="section2">
Mais bon .. si tu veux un truc propre ... essaye ça :
<div id="fields">
<div id="section2">
<label>Episode 1 URL </label>
<input type="text" name="url_ep1_s1" >
</div>
</div>
<div id="zone_bouton">
<input type="button" onclick="addField()" value="Ajouter un épisode" >
</div>
function addField(){
//container
var zone_fields = document.getElementById('fields');
//on compte le nombre de"fields" déjà existants
var nb_fields = GetChildCount('fields');
//Création des nouveaux éléments
var newDiv = document.createElement("div");
newDiv.id = "section"+(nb_fields+1);
var newLabel = document.createElement("label");
newLabel.innerHTML = "Episode "+(nb_fields+1)+" URL";
var newInput = document.createElement("input");
newInput.type = "text";
newInput.name = "url_ep"+(nb_fields+1)+"_s1" ;
//Ajout des élements dans la zone_fields
newDiv.insertBefore(newLabel,null);
newDiv.insertBefore(newInput,null);
zone_fields.insertBefore(newDiv,null);
}
function GetChildCount (container) {
var container = document.getElementById(container);
var childCount = 0;
if ('childElementCount' in container) {
childCount = container.childElementCount;
}else {
if (container.children) {
childCount = container.children.length;
} else { // Firefox before version 3.5
var child = container.firstChild;
while (child) {
if (child.nodeType == 1 /*Node.ELEMENT_NODE*/) {
childCount++;
}
child = child.nextSibling;
}
}
}
return childCount;
}
Cordialement,
Jordane
http://mal.fareoh.fr/add-anime.phh
Merci d'avance
Avec le code que je viens de te donner ... ça te donne de bonnes bases pour avancer.
Donc :
1 - La question initiale de cette discussion est traitée. Donc merci de mettre le sujet en RESOLU (lien qui se trouve sous le titre de ta question)
2 - Si as encore besoin d'aide ... essaye de coder (en te servant de mon exemple précédent) et reviens poster une question ( En mettant le code que tu auras essayé de faire et en indiquant précisément le souci rencontré )
3 - Je viens d'aller voir ton lien :
.. et voici ce qu'on obtient :
Il y a déjà un souci ... tu semble utiliser mysqli ( mysqli_query) .. alors pourquoi avec également une instruction en mysql ? (mysql_close )
Et pour corriger le souci sur mysqli_query ... il suffit de lire le manuel :https://www.php.net/manual/fr/mysqli.query.php