x-editable 发布到 MySQL 并返回 Json

x-editable posting to MySQL and returning Json

我正在尝试用 x-editable 替换我的一些表单,甚至在 post 工作时都在努力。

元素是

<a href="#" id="xformed" data-type="text" data-id="<?php echo $club->data()->id; ?>" data-table="clubs" data-field="formed" data-title="Enter Year Formed">
  Formed
</a>

它在页面上正确填充....

<a href="#" id="xformed" data-type="text" data-id="1065" data-table="clubs" data-field="formed" data-title="Enter Year Formed" class="editable editable-click">
  Formed
</a>

在页面底部我有...

<script src="//cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.0/bootstrap3-editable/js/bootstrap-editable.min.js"></script>
<script type="text/javascript"> 
    $(document).ready(function() {
        $('#xformed').editable({
            url: 'testclubpost.php'
        });
    });
</script>

到目前为止,一切正常,单击时会出现输入弹出窗口,当您输入值时,它会在 a 标签中发生变化。

问题出在posting到testclubpost.php上。最终,我想要的是 return 在插入或更新数据库后 json_encode,但它似乎甚至没有到达页面。

我已经将 teastclubpost.php 剥离为只包含一个硬编码的更新查询

<?php
require_once 'core/init.php';
$update = DB::getInstance()->update('clubs', 'id', 1065, array(
'formed' => '888'));
?>

如果我提交 x-editable 表单,页面上的值会更新,但数据库中没有任何反应。如果我直接导​​航到 testclubpost.php,则更新有效。在我看来,由于某种原因,x-editable 似乎甚至没有将其发送到页面。这两个文件都在同一个目录(根目录)中,所以对此感到非常困惑。

任何关于它为什么不起作用的想法都将不胜感激。

问候 史蒂夫

对于所有提交,它需要 "pk"、"name" 和 "value"

您可以尝试以下方法。

<a href="#" id="xformed" data-type="text" data-pk="1065" data-table="clubs" data-field="formed" data-title="Enter Year Formed" data-name="whateveru_name" class="editable editable-click">

注意 data-pk 和 data-name 字段。值将是您提交的新值。

缺少以上任何一项都不会提交表格。