I have a usual label
<label class="mytxt" style="color: #662819;" id ="telefon"></label>
I am setting a value like this:
document.getElementById('telefon').innerHTML = userDetails.phone;
after a label has some value like "123"
.
In a pagesource, I have a label without setted value inside "><" but I see as output it alright:
pagesource: <label class="mytxt" style="color: #662819;" id ="telefon"></label>
My problem is when I like to GET a value. I tried standards like:
value = $("#telefon").val(); document.getElementById('telefon').value
Nothing works, value is always "not defined". Why is this so, even if I see it in the browser?
Use the textContent property to get the text of a label element, e.g. const text = label. textContent . The textContent property will return the text content of the label and its descendants.
jQuery val() Method The val() method returns or sets the value attribute of the selected elements. When used to return value: This method returns the value of the value attribute of the FIRST matched element.
You need text()
or html()
for label not val()
The function should not be called for label instead it is used to get values of input like text or checkbox etc.
Change
value = $("#telefon").val();
To
value = $("#telefon").text();
Label's aren't form elements. They don't have a value
. They have innerHTML
and textContent
.
Thus,
$('#telefon').html() // or $('#telefon').text()
or
var telefon = document.getElementById('telefon'); telefon.innerHTML;
If you are starting with your form element, check out the labels
list of it. That is,
var el = $('#myformelement'); var label = $( el.prop('labels') ); // label.html(); // el.val(); // blah blah blah you get the idea
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With