【问题标题】:WordPress: Submit Form Without RefreshingWordPress:提交表单而不刷新
【发布时间】:2012-10-31 10:49:59
【问题描述】:

我目前正在开发自己的 WordPress 模板,该模板在管理区域中具有可以上传图片的功能。上传、移动到文件夹并在管理区域中显示都可以正常工作,但是我无法删除它们。

在图片下方,我想要一个输入按钮。当我点击它时,它应该执行一个 PHP 脚本(删除存储图片 URL 的自定义字段)并删除上面的图片。

问题:我希望这一切都动态发生,这意味着无需刷新页面。我发现这个脚本正是这样做的:

<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
        $("#myform").validate({
            submitHandler: function(form) {
                $.post('process.php', $("#myform").serialize(), function(data) {
                    $('#results').html(data);
                });
            }
        });
    });
    </script>
</head>
<body>

<form name="myform" id="myform" action="" method="POST">
    <input type="submit" class="button" value="Delete" />
</form>

<div id="results"></div>
</body>

当我点击“删除”按钮时,process.php 将被执行——在这种情况下,只是一个简单的回显,它显示在“结果”div 容器中。

我无法让这个脚本在 WordPress 中运行。我复制了表单并通过wp_register_scriptwp_enqueue_script 添加了jquery.validate.min.js。我省略了脚本的 jQuery,因为 WordPress 已经加载了它自己的。当我通过取消注册并再次注册将 WordPress 的 jQuery 替换为脚本中的 jQuery 时,它也不起作用。

我做错了什么?

【问题讨论】:

    标签: jquery ajax forms wordpress


    【解决方案1】:

    我知道这个问题很老了,但万一其他人偶然发现它......

    我不知道是否还有其他问题,但第一个问题是 Wordpress 默认不识别 $ 符号。将所有的 "$(" 替换为 "jQuery(" 以使其在 WP 中工作。

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      相关资源
      最近更新 更多