diseabled of button or submit
Citation:
Envoyé par lastarfane
Merci j'ai évolué et à présent je veux savoir s'il est possible d'appliquer aussi ton code aux balises <input> et <select>
En fait javais mal envoyé, en réalité Je m'y suis déja mis NoSmoking. Tout marche bien :ccool:
A présent, pour la beauté de mon code:
- Je souhaite griser les boutons "ADD" précédents pour laisser seulement le dernier actif.
- Deuxièment enregistrer les valeurs recupérée dans un array à chaque ajout
Si quelqu'un peut m'orienter cela m'aiderais
Un pas en arrière SylvainPV;7504239]
Citation:
Envoyé par
SylvainPV
C'est fou ça... Il y a tellement de débutants en Javascript paralysés car ils ne connaissent rien d'autre que document.getElementById pour récupérer leurs éléments. Pourquoi enfoncer le clou et les faire persister dans leur erreur en leur demandant de continuer avec des ID incrémentés cette fois ?
Il existe des dizaines de fonctions différentes pour parcourir le DOM dans tous les sens et récupérer les éléments souhaités. On a même une fonction magique document.querySelector/querySelectorAll avec un large support aujourd'hui qui fait presque aussi bien que le sélecteur de jQuery. Je plains tous ceux qui ne connaissent pas ces fonctions et doivent se casser les dents à l'heure actuelle.
http://jsfiddle.net/pfYZF/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <form name="form2" method="post" action="">
<table id="idTable" align="center">
<tr>
<td width="15%">
<textarea class="sizepopulation" id="sizepopulation" rows="1" cols="15" ></textarea>
</td>
<td width="10%">
<input type='button' name='add' value='Add' onclick='insererLigne_Fin()'/>
</td>
</tr>
</table>
</form> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| function insererLigne_Fin()
{
var cell, ligne;
// je récupère l'identifiant (id) de la table qui sera modifiée
var tableau = document.getElementById("idTable");
var nbLignesAvant = tableau.rows.length;
ligne = tableau.insertRow(-1); // ici création d'une ligne pour ajout en fin de table
cell = ligne.insertCell(0);
cell.innerHTML = " <textarea class='sizepopulation' rows='1' cols='15' ></textarea>";
cell = ligne.insertCell(1);
cell.innerHTML = " <input type='button' name='add' value='Add' onclick='insererLigne_Fin()' />";
var nbLignesApres = tableau.rows.length; // egal à nbLignesAvant + 1 normalement
var textareas = tableau.querySelectorAll("textarea.sizepopulation");
var ch_size = textareas[nbLignesAvant-1].value;
alert('Valeur de la dernière ligne avant insertion: '+ ch_size);
} |
Au fait mon projet avance hyper bien, une fois encore merci à ceux qui m'avait aidé.
Malheureusement ce matin, test sur test pour voir les # contrôles qui me restent (question de sécurité) je tombe sur oooooooooohhhh:
J'avais rajouté dans mon tableau une colonne contenant un select pour les mois de l'année. ET je constacte qu'après le click sur "Add"; il perd la valeur choisi: en quelque sorte, il réinitialise le select. Ce qui n'est pourtant pas le cas pour les textarea et le input.
Piiiiiiiiiiiire c'est seulement la première ligne qui pose blèm, sur les reste des lignes le choix est conservé. J'aimerais avoir un peu d'éclaicissement