简体   繁体   English

如何使用javascript从TextArea获取值?

[英]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. 我想做的就是检查textarea中是否有文本。

JS snippet: JS片段:

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: HTML宝贝:

<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(); 调试器(Firebug)在var a = PrzedDzier.val();停止工作var a = PrzedDzier.val(); so I assume it's something wrong with val() method... 所以我认为val()方法有问题......

You have retrieved the object as a JS object, not a jQuery object. 您已将对象检索为JS对象,而不是jQuery对象。 You need to use the jQuery ID selector to retrieve the jQuery object: 您需要使用jQuery ID选择器来检索jQuery对象:

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: 如果您想使用纯JS访问文本,只需使用value属性:

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;
}

Since you are using jQuery you can directly access the textarea and get the value as below. 由于您使用的是jQuery,因此可以直接访问textarea并获取如下值。

$("#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. 但通常情况下,使用其运行时ID获取元素更容易出错(如果有可能移动元素会改变运行时ID),否则您可以很好地使用上面的代码。

I believe using strlen is better than comparing with "" because strlen is much faster and "" takes 6 bytes of ram.just letting you know the other way 我相信使用strlen比与“”相比更好,因为strlen更快,“”需要6个字节的ram.just让你知道另一种方式

var j = document.getElementById('idoftextbox').value;
 if (strlen(j) == 0) 
  {
    alert('FU');
    return false;
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM