我是Wordpress的新手,也是JQuery的新手,所以让我开始解释我想要做的事情。
我有一个管理页面,在此页面内我可以让用户上传图片。我希望使用Ajax完成此操作(独立于常规表单更新)。
这是我到目前为止的代码:
< script type =" text / javascript" SRC =" HTTP://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js">< /脚本> < script src =" http://malsup.github.com/jquery.form.js">
我可以确认这些脚本是" pingable"和工作。
现在是HTML代码:
<table width="100%">
<tr>
<td width="100" style="padding:10px" valign="top">Email Image (180x180):</td>
<td style="padding:10px"><img id="previewEmailImage" width=180 height=180>
</td>
</tr>
<tr>
<td></td>
<td>
<div id='emailpreviewloader'>
</div>
</td>
</tr>
<tr>
<td></td>
<td>
<form id="imageform" method="post" enctype="multipart/form-data" action="/ajaximage.php">
<input type="file" name="photoimg" id="photoimg" />
</form>
</td>
</tr>
</table>
HTML中的关键内容是a)表单和b)div emailpreviewloader。
现在就在html表之后,内联我有以下js:
<script type="text/javascript">
$(document).ready(function()
{
$('#photoimg').live('change', function()
{
$("#emailpreviewloader").html('');
$("#emailpreviewloader").html('<img width="180" src="/loader.gif" alt="Uploading...."/>');
$("#imageform").ajaxForm(function(result)
{
alert("Thank you for your comment!");
});
});
});
</script>
用于测试目的ajaximage.php只包含1行:Echo&#34;它工作&#34 ;;
所以假设我已经完成了我的工作,并且上面的html + js是正确的,似乎Wordpress可能会以某种方式劫持Ajax并阻止它按预期工作。这可能吗?
我想做的就是有一个常规的Ajax帖子,这怎么可能?
编辑:
工作原理:
文件上传控件的更改事件正在触发。我已经通过警报确认了这一点,并且loader.gif可见。但看起来这种形式并没有发射,或者没有正确射击。内心的警觉,永远不会发动。
答案 0 :(得分:0)
如果您不想将wordpress函数用于ajax调用,请尝试将表单发送到action="<?php bloginfo('template_url');?>/ajaximage.php"
并确保该文件位于wordpress安装的根目录中。