1

我正在开发一个 wordpress 主题,我有一个使用 jquery 来检查错误的联系表,如果电子邮件发送成功,则显示确认消息。

在显示确认电子邮件之前,我想显示一个 loading.gif,以便用户知道它正在做某事。我的问题是在 jquery 中分配 img SRC url,因为我不希望它被修复。

我想将其设置为获取站点 url,然后将图像名称添加到其中。

由于您无法在 js 中解析 PHP,我想也许我可以作弊并使用将数据传递给 JS 的隐藏输入在表单页面上执行 PHP。

所以我有一个

<li class="hiddenurl">
    <input name="hiddenurl" value="<?php bloginfo('url'); ?>">
</li>

然后在 jquery 中我将值设置为一个变量,然后在 JS 中:

$(this).parent().append('<img src="'+variable+'/library/images/loading.gif" etc

这是一种不好的做法吗?

4

3 回答 3

2

由于您无法在 js 中解析 PHP

错误的。

<script type="text/javascript">
    var myvar = <?php echo json_encode($some_php_variable); ?>;
</script>

json_encode使任何 PHP 变量(资源除外)立即可由 JavaScript 解析。它有点像var_export,但用于 JavaScript 而不是 PHP。

于 2013-01-25T17:01:55.583 回答
1

这不一定是一种“坏”的方式,但 jQuery 提供了 .data() 方法来完成这一点。您可以使用它在 HTML 中添加您自己的“data-”注释,然后在您的 JS 代码中检索/设置它们。

在此处查看 jQuery 文档:http: //api.jquery.com/jQuery.data/

所以我会用它来将 url 添加到图像中,然后在 JS 中将其抓取出来..

如果您只想在 JS 中将 URL 作为变量传递,那么 @Kolink 对此有正确的答案。

于 2013-01-25T17:03:34.933 回答
0

这不会是坏事,因为它不会伤害任何东西..但如果你只想获取网址,那为什么不呢..

window.location

像这样

window.location.pathname // outputs "/questions/14526659/is-using-a-hidden-input-with-its-value-set-to-something-in-php-to-then-pass-to"

window.location.origin  // outputs http://stackoverflow.com
于 2013-01-25T17:05:51.520 回答