2012-01-10 36 views
6

tarafından girilmiş herhangi bir değeri yoktur this ile ilgili soru burada. DOM'daki bir öğenin bir değeri olup olmadığını kontrol edebilir miyim? Bir 'if' ifadesine koymaya çalışıyorum ve yaklaşımımın doğru olup olmadığından emin değilim.Bir HTML giriş elemanının boş olup olmadığını kontrol edin veya

if (document.getElementById('customx')){ 
    //do something 
} 

Ya da olmalıdır: İşte gider

if (document.getElementById('customx') == ""){ 
    //do something 
} 

EDIT: Yani Değere göre, customx bir metin giriş kutusudur. Bu alanın girilmiş metni olup olmadığını nasıl kontrol edebilirim.

+0

"değer" tanımlayın. Metin içeriği mi demek istiyorsun? çocuk elemanları? Bir "değer" özelliği? –

+0

Değere göre ne demek istiyorsun? ' veya myValue'? –

+0

Merhaba, üzgünüm soruma daha açık olmalıydım. Sorumu güncelledim – zik

cevap

14

getElementById yöntemi, öğe ile etkileşimde bulunmak için kullanabileceğiniz bir Element nesnesini döndürür. Öğe bulunamazsa, null döndürülür. Bir giriş elemanı durumunda, nesnenin value özelliği, değer niteliğindeki dizeyi içerir. aşağıdaki gibi && operatör kısa devreler ve her iki null ve boş bir dize bir boolean bağlamda "Falsey" kabul edildiğini, biz eleman varlığı ve değer verilerinin varlığı için çek birleştirebilirsiniz gerçeğini kullanarak

:

var myInput = document.getElementById("customx"); 
if (myInput && myInput.value) { 
    alert("My input has a value!"); 
} 
0

İlk kitabınız temel olarak doğruydu. Bu, FYI, kötü.

if (document.getElementById('customx') == ""){ 

DOM düğümleri aslında JavaScript nesnenin kendilerine tipidir: Bir DOM düğümü ve bir dize arasında bir eşitlik denetimi yapar. Böylece, bu karşılaştırma, iki farklı şekilde farklı veri türleri üzerinde bir eşitlik karşılaştırması yaptığından hiçbir zaman işe yaramayacaktır.

if (document.getElementById('customx').value === ""){ 
    //do something 
} 

value özellik size bir dize değeri verecek ve boş bir dize karşı karşılaştırmak gerekir:

+2

Birincisi de doğru değil. Öğenin var olup olmadığını kontrol eder, bir değere sahip olup olmadığını kontrol eder. –

0

Sen istiyorsun. Öğe DOM'de bulunmadıysa getElementById öğesi false değerini döndürür.

+1

'' '' 'nin' '' 'için farklı olduğunu, ancak ekranda görünmesi zor olduğunu unutmayın. – Quentin

+3

Öğe mevcut değilse, bunun çakıldığının farkında olun. –

2

var el = document.getElementById("customx"); 
if (el !== null && el.value === "") 
{ 
    //The element was found and the value is empty. 
} 
2
var input = document.getElementById("customx"); 

if (input && input.value) { 
    alert(1); 
} 
else { 
    alert (0); 
} 
İlgili konular