如何在smarty模板中使用javascript函数中的值

How to use value from javascript function into smarty template?

本文关键字:javascript 函数 smarty      更新时间:2023-09-26

我想使用模板中存在的textarea的值。我的代码如下:

<tr>
  <td style="background-color:#ffffff; padding:40px 22px; font-family:Arial, Helvetica, sans-serif; color:#505050; font-size:12px; font-weight:normal;">
    **[[NEWSLETTER_BODY]]**
  </td>
</tr>

我想使用下面Javascript函数中[[NEWSLETTER_BODY]]处的值。你能在这方面帮我吗?提前谢谢。

{literal}
<script language="javascript" type="text/javascript">
function get_text_area_value(){ 
  var email_body = jQuery("textarea#newsletter_email_body").val();
  //alert(email_body);
}
</script>
{/literal}

实际上,我想用以下方式调用这个函数。同时,该值应该存在于smarty模板中。

<input type="button" name="btn_preview" id="btn_preview" value="{$preview_value}" class="submit" id="preview_newsletter" onclick="get_text_area_value()">

新闻稿的内容必须提交到服务器,Smarty才能使用这些内容。由于你无论如何都需要提交,所以你不需要做任何特别的事情——只需使用已有的提交按钮提交表单即可。

如果你不想提交表单,但更喜欢在页面上的其他地方显示文本区域的内容,并且格式正确,那么你就不需要Smarty了。相反,使用JavaScript获取文本区域的内容(您已经有了该代码),并将内容附加到其他地方的元素,例如

var email_body = jQuery("textarea#newsletter_email_body").val();
$("mydiv").innerHTML = email_body;

您可能需要首先清理文本区域的HTML内容。