Wordpress是否劫持了我的Ajax表单帖子?

时间:2013-08-07 06:07:44

标签: javascript ajax wordpress

我是Wordpress的新手,也是JQuery的新手,所以让我开始解释我想要做的事情。

我有一个管理页面,在此页面内我可以让用户上传图片。我希望使用Ajax完成此操作(独立于常规表单更新)。

这是我到目前为止的代码:

  1. 在页面顶部 - 脚本包括:
  2. < 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可见。但看起来这种形式并没有发射,或者没有正确射击。内心的警觉,永远不会发动。

1 个答案:

答案 0 :(得分:0)

如果您不想将wordpress函数用于ajax调用,请尝试将表单发送到action="<?php bloginfo('template_url');?>/ajaximage.php"并确保该文件位于wordpress安装的根目录中。