J'ai une étiquette habituelle
<label class="mytxt" style="color: #662819;" id ="telefon"></label>
Je suis réglage une valeur comme celle-ci:
document.getElementById('telefon').innerHTML = userDetails.phone;
après une étiquette a une valeur comme "123"
.
Dans un pagesource, j'ai une étiquette sans valeur définie à l'intérieur de "> <" mais je vois comme sortie bien:
pagesource: <label class="mytxt" style="color: #662819;" id ="telefon"></label>
Mon problème est quand j'aime OBTENIR une valeur. J'ai essayé des standards comme:
value = $("#telefon").val();
document.getElementById('telefon').value
rien ne fonctionne, la valeur est toujours "non définie". Pourquoi est-ce le cas, même si je le vois dans le navigateur?
Vous avez besoin de text()
ou html()
pour une étiquette non val()
La fonction ne doit pas être appelée pour une étiquette; elle est utilisée pour obtenir des valeurs d'entrée telles que du texte ou une case à cocher, etc.
Changement
value = $("#telefon").val();
À
value = $("#telefon").text();
Les étiquettes ne sont pas des éléments de formulaire. Ils n'ont pas de value
. Ils ont innerHTML
et textContent
.
Ainsi,
$('#telefon').html()
// or
$('#telefon').text()
ou
var telefon = document.getElementById('telefon');
telefon.innerHTML;
Si vous êtes commencez avec votre élément de formulaire, consultez la liste labels
de celui-ci. C'est,
var el = $('#myformelement');
var label = $( el.prop('labels') );
// label.html();
// el.val();
// blah blah blah you get the idea