Controle d'ajout de ligne
Bonjour à tous.
Je développe deux formulaires assez conséquent pour une application, un pour la création d'un utilisateur, l'autre pour la modification de celui ci. Je voudrais contrôler le nombre d'alias de boite mail à 3. Pour la création d'un utilisateur cela fonctionne et pour la modification cela fonctionne presque. J'ai juste un problème, si l'utilisateur a déjà rempli 3 alias, le bouton ajouter ne se grise pas à l'affichage du formulaire modif'. Pourtant si 2 alias on été donné je ne peux qu'en ajouter un seul et le bouton se grise.
J'aimerais juste pouvoir griser le bouton ajouter à l'affichage du formulaire si 3 alias on déjà été ajouté.
Voici les parties de mon code qui correspondent :
Fonctions :
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
<script type="text/javascript">
<%-- Debut ajout pour tableau dynamique --%>
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = rowCount + 1;
var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
if(rowCount==1){
element2.name = "alias2";
element2.id = "alias2";
element2.style.width="246px";
element2.value = "<%=user.getAlias2() %>";
} else if(rowCount==2){
element2.name = "alias3";
element2.id = "alias3";
element2.style.width="246px";
element2.value = "<%=user.getAlias3() %>";
}
<%-- Limitation a 3 alias--%>
if(rowCount>=2){
document.getElementById("btn_ajout").disabled=true;
}
cell3.appendChild(element2);
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
<%-- Si on a moins de 3 colonne on peut en ajouter une--%>
if(rowCount<=2){
document.getElementById("btn_ajout").disabled=false;
}
}
}
}catch(e) {
alert(e);
}
}
</script>
<tr valign="top">
<td>Alias : </td>
<td>
<input type="button" value="Ajouter alias" id="btn_ajout" onclick="addRow('dataTable')"/>
<input type="button" value="Supprimer alias" id="btn_suppr" onclick="deleteRow('dataTable')" />
<table id="dataTable">
<tr>
<td><input type="checkbox" name="chk"/></td>
<td> 1 </td>
<td><input type="text" name="alias1" id ="alias1" value="<%=user.getAlias1() %>" style="width: 246px; "/></td>
</tr>
<%if(!user.getAlias2().equals("")) {%>
<tr>
<td><input type="checkbox" name="chk"/></td>
<td> 2 </td>
<td><input type="text" name="alias2" id ="alias2" value="<%=user.getAlias2() %>" style="width: 246px; "/></td>
</tr>
<%} %>
<%if(!user.getAlias3().equals("")) {%>
<tr>
<td><input type="checkbox" name="chk"/></td>
<td> 3 </td>
<td><input type="text" name="alias3" id ="alias3" value="<%=user.getAlias3() %>" style="width: 246px;" /></td>
</tr>
<%} %>
</table>
</td>
</tr> |
Merci pour vos réponse.