Wordpress jQuery到PHP数据传输

时间:2012-03-21 15:21:21

标签: php javascript jquery wordpress plugins

大家。我是一个相对较新的开发人员,在jQuery AJAX和PHP方面经验有限。我正在开发一个Wordpress插件,这对我来说也是一个非常好的学习练习。

基本描述:在我的插件的管理页面上,我有一堆表格将显示为模态窗口(使用jQuery UI),填写完成后,会将其字段提交到单独的PHP文件进行处理。该文件将接受数据并准备插入我已设置的wpdb表。

插件管理页面(PHP):

<div id="form1" title="My Awesome Form">
    <form id="frmNewCom">
        <fieldset>
        <table>
            <tr>
                <td><label for="name">Community Name</label>
                <td><input type="text" name="newComName" id="newComName" />
            </tr>
            <tr>
                <td><label for="lefthead">Left Column Header</label></td>
                <td><input type="text" name="newComLefthead" id="newComLefthead" /></td>
            </tr>
            <tr>
                <td><label for="righthead">Right Column Header</label></td>
                <td><input type="text" name="newComRighthead" id="newComRighthead" /></td>
            </tr>
        </table>
        </fieldset>
    </form>
</div>

表单的jQuery UI代码($pcal是我的无冲突事物):

$pcal('#form1').dialog({
        autoOpen: false,
        height: 275,
        width: 400,
        modal: true,
        buttons: {
            "Add Living Option": function() {
                // Functionality for submit
            },
            Cancel: function() {
                $pcal(this).dialog("close");
            }
        },
        close: function() {
            // close function
        }
    });

现在问题就在于此。从这一点来说,我不确定该怎么做。我已经阅读了很多关于使用.post().serialize()的内容,而且此时我已经非常困惑。

你们有没有深入了解适当的javascript / jQuery到你可以借出的PHP处理?我也在Wordpress论坛上问过这个问题,但我总是在这里找到好的建议,所以我想问一下。任何和所有的帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

一个非常简单的例子是:

$pcal.post("test.php", $pcal("#frmNewCom").serialize(), function() {
   // this will run once returned from PHP
   alert('thanks');
   $pcal(this).dialog("close");
});

这会使用.post()以序列化格式(id,其中1,2和3是您在表单中输入的值)发布表单(frmNewCom = newComName=1&newComLefthead=2&newComName=3)和.serialize()

然后在test.php中,您可以像这样访问您的值:

$newComName = $_POST['newComName'];
$newComLefthead = $_POST['newComLefthead'];
$newComName = $_POST['newComName'];
// insert into table

以上是a)未经测试且b)如果您想将其存储在数据库中,则不包含对SQL injection的任何预防