ASP.NET MVC campo Hidden non inviare
-
23-09-2019 - |
Domanda
Con jQuery completamento automatico Ho un campo di input nascosto per memorizzare ID perché il nome viene immesso nel campo di completamento automatico sulla selezione.
In questo modo:
$("#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>"
);
}
}
Questo è il mio HTML:
<div id="ClientSelectionPlaceholder">
<h3>Client</h3>
<%=Html.TextBox("Clients", null, new { @class = "clientsDropDown" })%>
<%=Html.Hidden("ClientID", null, new { disabled = true}) %>
</div>
Il problema è che questo campo ClientID nascosto non è distacco indietro né lo fa serializzare con jquery.serialize (). E manca sempre. Ma, per quanto posso dire il mio codice sembra a posto.
Soluzione
Perché avete disabilitato il campo nascosto? Non farlo.
Altri suggerimenti
E 'perché il campo è disabilitato.
...new { disabled = true}...
Quando si imposta l'attributo disabled ad un elemento di input il suo valore è non Inviato:
<%=Html.Hidden("ClientID", null, new { disabled = true}) %>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow