Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get a value from TextArea using javascript?

Well this question might look simillar to questions easily findable with google but for some reason all solutions out there have not worked for me. All I want to do is to check if there is text inside of textarea.

JS snippet:

var PrzedDzier = document.getElementById('ctl00_m_g_87871370_ce46_4f47_b1eb_614d0106535d_ff105_1_ctl00_ctl00_TextField');   
var a = PrzedDzier.val();
if(a == "")
{
  alert('FU');
  result = false;
}

HTML baby:

<textarea dir="none" class="ms-long" title="PDzier" id="ctl00_m_g_87871370_ce46_4f47_b1eb_614d0106535d_ff105_1_ctl00_ctl00_TextField" cols="20" rows="2" name="ctl00$m$g_87871370_ce46_4f47_b1eb_614d0106535d$ff105_1$ctl00$ctl00$TextField"></textarea>

Debugger (Firebug) stops working at var a = PrzedDzier.val(); so I assume it's something wrong with val() method...

like image 426
mike Avatar asked Sep 17 '26 08:09

mike


2 Answers

You have retrieved the object as a JS object, not a jQuery object. You need to use the jQuery ID selector to retrieve the jQuery object:

var PrzedDzier = $("#ctl00_m_g_87871370_ce46_4f47_b1eb_614d0106535d_ff105_1_ctl00_ctl00_TextField");
var a = PrzedDzier.val();
if(a == "")
{
  alert('FU');
  result = false;
}

If you would like to access the text using pure JS, simply use the value property:

PrzedDzier = document.getElementById('ctl00_m_g_87871370_ce46_4f47_b1eb_614d0106535d_ff105_1_ctl00_ctl00_TextField');   
var a = PrzedDzier.value;
if(a == "")
{
  alert('FU');
  result = false;
}
like image 114
James Hill Avatar answered Sep 18 '26 21:09

James Hill


Since you are using jQuery you can directly access the textarea and get the value as below.

$("#ctl00_m_g_87871370_ce46_4f47_b1eb_614d0106535d_ff105_1_ctl00_ctl00_TextField").val();

But usually, it is more error prone to get an element using its runtime ID (if there are easy chances that the element would be moved which would change the runtime ID), otherwise you can very well use the above code.

like image 24
clklachu Avatar answered Sep 18 '26 22:09

clklachu