2014-07-05 5 views
0

HTML :변경 CSS를 넘는 경우 조건

<div id="register_error"> 
    <?php 
     echo "$error_msg"; 
    ?> 
</div> 

자바 스크립트 : 나는 #register_error 사업부의 텍스트가있는 경우 자바 스크립트 코드는하지만, 때마다 페이지가로드를 확인하려면

if(document.getElementById("register_error").innerHTML) 
{ 
    document.getElementById("signUpFormBackground").style.display = "block"; 
} 

내 코드가 작동하지 않는 이유는 무엇입니까? 내가 뭘 놓치고 있니? 더 많은 정보가 필요하면 그냥 물어보십시오.

편집 --------------------------------- 내가 말한 것처럼 공백을 제거했습니다.

<div id="register_error"><?php echo "$error_msg";?></div> 

는하지만 그것은, 내가 문제가 코드의이 부분은 결코 호출되지 가져옵니다 생각, 도움이되지 않았다 내가 함수를하지 않았, 난 그냥 스크립트 태그를 썼다. .trim() 및 .length() 메서드도 시도했지만 여전히 동일한 응답입니다. EDIT2은 -------------------------------- 나는

enter code hereif(document.getElementById("register_error").innerHTML) 
{ 
    document.getElementById("signUpFormBackground").style.display = "block"; 
} 
else 
{ 
    document.getElementById("signUpFormBackground").style.display = "block"; 
} 

아무 일도 발생하지 않습니다를했습니다 그래서 내 문제는 내 코드가 작동하지 않는 것 같아요. 항상 스크립트 태그 사이에 넣으면 항상 웹로드로 적어도 한 번 실행됩니다. 그래서 실제로 어떻게 실행합니까? ----------------------------- 마지막으로

<script> 
window.onload 
{ 
    if (document.getElementById("register_error").innerHTML.length > 0) 
    { 
     document.getElementById("signUpFormBackground").style.display = "block"; 
    } 
    else 
    { 
     document.getElementById("signUpFormBackground").style.display = "block"; 
    } 
} 
</script> 

결과 : 창로드에, 나는 이미 시도했습니다 내 실수를 발견하고, 나는 함수를 호출하지 않았고 그것을 호출하지 않고 처리 할 것이라고 생각했다. 코드는 괜찮았다.

+0

비어있는 경우 검사 전에 innerHTML을을 trim()해야합니까?위의 HTML을 게시하기 전에 '

0

나는 문제가 아래 if 상태에서 추측 :

document.getElementById("register_error").innerHTML 

귀하의 내부 HTML은 문자열을 반환합니다, 그래서 당신은 같은 길이를 확인해야합니다 당신은 당신의 PHP 코드는 들여 쓰기가

if(document.getElementById("register_error").innerHTML.length) {} 
+1

'innerHTML.length' 테스트는'innerHTML'이 비어 있지 않으면 둘 다 true로 평가되기 때문에'innerHTML' 테스트와 동일합니다. 그러나 문제는 HTML에서 공백으로 인해 'innerHTML'이 완전히 비어서는 안됩니다. – Frxstrem

2

. 따라서 innerHTML은 PHP 코드에서 출력되는 내용이 없어도 텍스트를 포함합니다. 당신이 오류가 콘솔을 확인 했

document.getElementById("register_error").innerHTML.trim() 

Example

+2

['trim()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim)의 호환성/가용성에 대해 언급하고 싶을 수도 있습니다. –