Réponses:
Vous pouvez accéder aux valeurs des champs masqués avec val()
, comme vous pouvez le faire sur n'importe quel autre élément d'entrée:
<input type="hidden" id="foo" name="zyx" value="bar" />
alert($('input#foo').val());
alert($('input[name=zyx]').val());
alert($('input[type=hidden]').val());
alert($(':hidden#foo').val());
alert($('input:hidden[name=zyx]').val());
Tout cela signifie la même chose dans cet exemple.
Il existe un sélecteur jQuery pour cela:
// Get all form fields that are hidden
var hidden_fields = $( this ).find( 'input:hidden' );
// Filter those which have a specific type
hidden_fields.attr( 'text' );
Vous donnera tous les champs de saisie masqués et filtrera par ceux avec un type=""
.
Le moyen le plus efficace est l'ID.
$("#foo").val(); //by id
Vous pouvez lire plus ici:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS
https://developers.google.com/speed/docs/best-practices/rendering?hl=it#UseEfficientCSSSelectors
Pour obtenir de la valeur, utilisez:
$.each($('input'),function(i,val){
if($(this).attr("type")=="hidden"){
var valueOfHidFiled=$(this).val();
alert(valueOfHidFiled);
}
});
ou:
var valueOfHidFiled=$('input[type=hidden]').val();
alert(valueOfHidFiled);
Pour définir la valeur, utilisez:
$('input[type=hidden]').attr('value',newValue);
Il n'y a rien de spécial <input type="hidden">
:
$('input[type="hidden"]').val()
Si vous souhaitez sélectionner un champ masqué individuel, vous pouvez le sélectionner via les différents sélecteurs de jQuery:
<input type="hidden" id="hiddenField" name="hiddenField" class="hiddenField"/>
$("#hiddenField").val(); //by id
$("[name='hiddenField']").val(); // by name
$(".hiddenField").val(); // by class
Si vous avez un asp.net HiddenField, vous devez:
Pour accéder à la valeur HiddenField:
$('#<%=HF.ClientID%>').val() // HF = your hiddenfield ID
Pour définir HiddenFieldValue
$('#<%=HF.ClientID%>').val('some value') // HF = your hiddenfield ID
Attention si vous souhaitez récupérer une valeur booléenne à partir d'un champ caché!
Par exemple:
<input type="hidden" id="SomeBoolean" value="False"/>
(Une entrée comme celle-ci sera rendue par ASP MVC si vous l'utilisez @Html.HiddenFor(m => m.SomeBoolean)
.)
Ensuite, ce qui suit renverra une chaîne 'False'
, pas un booléen JS!
var notABool = $('#SomeBoolean').val();
Si vous souhaitez utiliser le booléen pour une logique, utilisez plutôt ce qui suit:
var aBool = $('#SomeBoolean').val() === 'True';
if (aBool) { /* ...*/ }
La manière la plus universelle est de prendre la valeur par son nom. Peu importe si son entrée ou sélectionnez le type d'élément de formulaire.
var value = $('[name="foo"]');