我正在开发一个wordpress主题,我有一个联系表单,它使用jquery检查错误,然后在电子邮件成功发送时显示确认消息。
在显示确认电子邮件之前,我想显示加载.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
这是一种不好的做法吗?
由于您无法在 js 中解析 PHP
错。
<script type="text/javascript">
var myvar = <?php echo json_encode($some_php_variable); ?>;
</script>
json_encode
使任何 PHP 变量(资源除外)都可以通过 JavaScript 立即解析。它有点像var_export
但用于JavaScript而不是PHP。
这不一定是一种"糟糕"的方法,但jQuery提供了.data()方法来实现这一目标。您可以使用它在 HTML 中添加您自己的"data-"注释,然后在 JS 代码中检索/设置它们。
在此处查看 jQuery 文档:http://api.jquery.com/jQuery.data/
所以我会使用它来将 url 添加到图像中并在 JS 中将其抓取出来。
如果您只想将 URL 作为 JS 中的变量传递,那么@Kolink对此有正确的答案。
这
不会是坏事,因为它不会伤害任何东西..但是如果您只想获取URL,那么为什么不呢..
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