Mám štítok, ktorý je niekedy prázdny. Ako nastavím podmienené vyhlásenie na strane klienta, aby som to otestoval?
mám
var label = document.getElementByID("<%=label1.ClientID %>").innerHTMl;
získať text, ale nezdá sa mi, že by som zistil if..else, či je prázdny alebo nie. label.length == 0; label == null atď. Zdá sa, že nefunguje. nejaká pomoc?
odpovede:
1 pre odpoveď č. 1skúste to:
if(label){
// The label is defined
}
Ani if, ani else na ňom sa nemôžu spustiť, pokiaľ nie sú definované, takže radšej nepoužívajte else na to (zdá sa to čudné, ale skontroloval som to len vo Firefoxe).
0 pre odpoveď č. 2
Tu je niečo lepšie:
var id = "<%= label1.ClientID %>";
var label = id.length > 0 ? document.getElementById(id).innerHTML : "";
(Za predpokladu, že tu je Ruby ...)
0 pre odpoveď č. 3
Prázdny reťazec je falošný, rovnako ako niečo, čo je neplatné.
Ak štítok vždy existuje (document.getElementByID ("<% = label1.ClientID%>") vždy vracia html prvok), potom by vyššie uvedené malo fungovať.
Štítok sa však môže javiť iba ako prázdny. V ňom môže byť prázdny reťazec. Skúste teda toto:
var label = document.getElementByID("<%=label1.ClientID %>").innerHTMl;
if (label.replace(/s/g, "")) {
// handle it
}
0 pre odpoveď č. 4
Použite tento kód:
var labelID = "<%=label1.ClientID %>";
if (labelID.length!=0)
var label = document.getElementByID(labelID).innerHTMl;
else...