繁体   English   中英

如何使用javascript从TextArea获取值?

[英]How to get a value from TextArea using javascript?

那么这个问题可能看起来像谷歌容易找到的问题,但由于某种原因,所有的解决方案都没有为我工作。 我想做的就是检查textarea中是否有文本。

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

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

调试器(Firebug)在var a = PrzedDzier.val();停止工作var a = PrzedDzier.val(); 所以我认为val()方法有问题......

您已将对象检索为JS对象,而不是jQuery对象。 您需要使用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;
}

如果您想使用纯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;
}

由于您使用的是jQuery,因此可以直接访问textarea并获取如下值。

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

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

我相信使用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