Je développe l'application asp.net mvc. J'ai une section sur le formulaire où j'ajoute dynamiquement des zones de texte lorsque l'utilisateur clique sur un bouton "Ajouter une nouvelle partie". Le problème est quand je soumets le formulaire je ne reçois pas les données des champs que j'ai ajoutés dynamiquement. Je passe la FormCollection à mon contrôleur et je passe le code dans le débogueur et ces champs ne sont pas là. Si je les regarde dans firebug, je les vois très bien. Des idées?Pourquoi les données de mon formulaire html ne sont-elles pas soumises?
Voici le javascript pour ajouter les champs de texte à la page:
function moreFields() {
var newFields = document.getElementById('readrootpu').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
for (var i = 0; i < newField.length; i++) {
var theName = newField[i].name
if (theName)
newField[i].name = theName;
}
var insertHere = document.getElementById('newpartusageitems');
insertHere.parentNode.insertBefore(newFields, insertHere);
}
Voici le code html:
<div id="readrootpu" class="usedparts" style="display: none">
<% var fieldPrefix = "PartUsage[]."; %>
Part ID:
<%= Html.TextBox(fieldPrefix + "ID", "")%>
Serial Number:
<%= Html.TextBox(fieldPrefix + "Serial", "")%>
Quantity:
<%= Html.TextBox(fieldPrefix + "Quantity", "") %>
<input type="button" value="Remove" onclick="this.parentNode.parentNode.removeChild(this.parentNode);" />
</div>
Lorsque j'inspecte le code html avec Firebug il semble bien me:
Part ID: <input type="text" name="PartUsage[].ID" id="PartUsage[]_ID" value="" />
Serial Number: <input type="text" name="PartUsage[].Serial" id="PartUsage[]_Serial" value="" />
Quantity: <input type="text" name="PartUsage[].Quantity" id="PartUsage[]_Quantity" value="" />
Pensées?
À quoi ressemble le code HTML généré? – Jayrox
s'il vous plaît poster le plein
J'ai mis à jour le code –