To pytanie to może wyglądać na Similla na pytania łatwe do znalezienia w Google, ale z jakiegoś powodu wszystkie rozwiązania nie działały dla mnie. Wszystko, co chcę zrobić, to sprawdzić, czy jest tekst w textlace.

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

<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) przestaje pracować w var a = PrzedDzier.val();, więc zakładam, że coś jest nie tak z metodą val() ...

2
neurotix 9 listopad 2011, 17:09

3 odpowiedzi

Najlepsza odpowiedź

Pobrałeś obiekt jako obiekt JS, a nie obiekt jQuery. Musisz użyć selektora jQuery ID, aby pobrać obiekt 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;
}

Jeśli chcesz uzyskać dostęp do tekstu za pomocą Pure JS, po prostu użyj właściwości 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;
}
8
James Hill 9 listopad 2011, 13:11

Ponieważ używasz jQuery, możesz bezpośrednio uzyskać dostęp do Textarea i uzyskać wartość jak poniżej.

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

Ale zwykle jest to więcej podatek błędów, aby uzyskać element za pomocą swojego identyfikatora wykonawczego (jeśli istnieją łatwe szanse, że element zostanie przeniesiony, który zmieni identyfikator środowiska wykonawczego), w przeciwnym razie możesz użyć powyższego kodu.

1
clklachu 9 listopad 2011, 13:16

Wierzę, że przy użyciu Strlen jest lepszy niż w porównaniu z "" Ponieważ Strlen jest znacznie szybszy i "" zajmuje 6 bajtów RAM.Just pozwalając Ci znać drugą drogę

var j = document.getElementById('idoftextbox').value;
 if (strlen(j) == 0) 
  {
    alert('FU');
    return false;
  }
1
niko 9 listopad 2011, 13:26