2011-01-07 4 views
0

javascript 함수 setTimeout을 사용하여 지정된 시간 후에 오류 메시지 div를 숨기려고하는데 잘못 입력했음을 알리는 오류가 발생했습니다. 누군가가 나에게 당신이 멋지 소유 사용하려면 사전Smarty를 사용하여 setTimeout이 작동하지 않는 오류 메시지 div를 숨기기

+0

당신은 당신이 점점 실제 오류를 게시 할 수 있습니까? – kieran

+0

얻을 수있는 오류 메시지는 다음과 같습니다. Kieran 치명적인 오류 : Smarty 오류 : [C : /xampp/htdocs/www_google_ads_integration//modules/order_checkout/tpl/order_checkout.tpl line 21] : 구문 오류 : 인식 할 수없는 태그 : $ ('error'). 숨기기(); (Smarty_Compiler.class.php, 446 줄) C : \ xampp \ htdocs \ www \ google_ad_integration \ lib \ smarty-2.6.26 \ libs \ Smarty.class.php 1094에 –

답변

1

에서

{if $error_message != ""} 
    <script type="text/javascript"> 
    setTimeout(function(){$('error').hide(); }, 1000); 
    </script> 
    <div id="error" class='error_message'> 
    {$error_message} 
    </div> 
{/if} 

감사를 다음과 같이

내 코드는이 구문에 속도까지 얻을 수 있습니다 경우 유식 그래서 전에 내가 그것을 감사 정말 것이다 {및}와 같은 문자는 인라인 JS와 같은 템플리트는 리터럴 태그를 사용하여 이스케이프 처리해야합니다. 또한 주위에 공백이 있으면 멋지게 인식합니다. 멋진 태그가 아니며 무시됩니다.

http://www.smarty.net/docs/en/language.function.literal.tpl

2

당신은 자바 스크립트를위한 똑똑한의 literal 태그의 사용을해야합니다 참조하십시오. 그것은 똑똑한 컴파일러에게 코드를 실행하지 않고 그대로 유지하도록 지시합니다. 당신의 시나리오에는, 시도에 대한

http://www.smarty.net/docsv2/en/language.function.literal

{literal} 
    <script type="text/javascript"> 
     setTimeout(function(){$('error').hide(); }, 1000); 
     </script> 
{/literal} 
+0

또한'{ldelim}'과 (쓸모없는)'{rdelim}'. –

+0

안녕하세요, 리터럴 태그를 사용했지만 오류 메시지가 제거되었지만 div를 숨기고 싶지 않으므로 초기 목표는 아직 완료되지 않았습니다. ? –

+0

@Donald : 'error'는 id이므로 $ ('error')를 사용하고 $ ('error'가 아닌) hide();를 사용해야합니다. – Nik

관련 문제