2010-03-01 11 views
2

Avec la saisie semi-automatique jquery, j'ai un champ de saisie masqué pour stocker ID car le nom est saisi dans le champ de saisie semi-automatique de select.ASP.NET MVC Champ masqué non POSTing

Comme ceci:

 $("#Clients").result(function (event, data, formatted) { 
      if (data) { 
       $("#ClientID").val(data["client_ClientNumber"]); 
       if (data["ClientName"] && data["client_address1"] && data["client_postcode"] && data["client_postname"]) { 
        $("#ClientDetails").html(
        "<li class=\"clientNumber\">Client ID: " + data["client_ClientNumber"] + "</li>" + 
        "<li>" + data["ClientName"] + "</li>" + 
        "<li>" + data["client_address1"] + "</li>" + 
        "<li>" + data["client_postcode"] + data["client_postname"] + "</li>" 
        ); 
       } 
} 

Ceci est mon HTML:

<div id="ClientSelectionPlaceholder"> 
     <h3>Client</h3> 
     <%=Html.TextBox("Clients", null, new { @class = "clientsDropDown" })%> 
     <%=Html.Hidden("ClientID", null, new { disabled = true}) %> 
    </div> 

Le problème est que ce champ ClientID caché n'est pas en arrière, ni qu'il affichait ne sérialise avec jquery.serialize(). Il manque toujours. Mais autant que je peux dire que mon code semble bien.

Répondre

6

Pourquoi avez-vous désactivé le champ masqué? Ne pas.

3

C'est parce que le champ est désactivé.

...new { disabled = true}... 
2

Lorsque vous définissez l'attribut désactivé à un élément d'entrée sa valeur est pas affiché:

<%=Html.Hidden("ClientID", null, new { disabled = true}) %> 
+0

En fait, j'ai mis cela désactivé parce que j'ai aussi quelques champs de saisie de texte qui sont désactivés et leurs valeurs sont affichées. Donc j'ai suivi le même principe. – mare