2011-01-07 11 views
0

javascript関数setTimeoutを使用して指定した時間後にエラーメッセージdivを非表示にしようとしていますが、誰も私はあなたがSmartyの予約済みを使用する場合は、事前Smartyを使用しているsetTimeoutでエラーメッセージdivを非表示にする

+0

はあなたが取得している実際のエラーを投稿することができますか? – kieran

+0

次のようなエラーメッセージが表示されます 致命的なエラー:Smartyエラー:[C:/xampp/htdocs/www_google_ads_integration//modules/order_checkout/tpl/order_checkout.tpl line 21]:構文エラー:認識できないタグ: $( 'error')。hide(); (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} 

感謝を次のように

私のコードは、この構文でスピードアップし得るのを助けることができる場合ので、私はそれを本当に感謝前のsmarty {と}のような文字は、インラインJSのようなテンプレートは、リテラルタグを使用してエスケープする必要があります。また、周囲に空白があると、スマートなタグではなく、無視されます。

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

2

あなたはjavascriptのためのSmartyのliteralタグを利用するために必要になります参照してください。それはスマートなコンパイラにコードを実行せず、そのまま保つように指示します。あなたのscenerioため

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

関連する問題