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