1

在刷新页面之前,我似乎无法从我的 jEditable 表单中获取提交的值以显示在我的网站上。但是,它确实正确更新了 MySQL 数据库。我正在使用 PHP 和 MySQL。

谁能解释我如何使用 jEditable 在不刷新页面的情况下就地更新?

PHP 操作页面

if($_POST["issue_edit"]){
    mysql_query("UPDATE timeline SET comment='".$_POST["issue_edit"]."' WHERE ticket='".$_POST["id"]."' AND issue='1'");
    echo $_POST["issue_edit"];
    // header("location: ../?".$query."");

}

主页

                <script>
                $(document).ready(function() {
                    $('.edit<?php echo $ticket["id"]; ?>').editable('http://www.4dcreative.co.uk/support/tickets/action/index.php', { 
                        type        : 'textarea',
                        cancel      : 'Cancel',
                        submit      : 'OK',  
                        name        : 'issue_edit',
                        onblur      : 'ignore'
                    });
                });
            </script>
            <label>Issue:</label><p class="edit<?php echo $ticket["id"]; ?>" id="<?php echo $ticket["id"]; ?>"><?php 

            while($timeline_stub = mysql_fetch_array($timeline)) {

                if($timeline_stub["type"]=="issue"){
                    echo nl2br($timeline_stub["comment"]);
                }
            }

            ?></p>
4

1 回答 1

0

我不希望输入任何作为issue_edit参数传递的文本会丢失......

也许这是 Jeditable 以前版本的行为?事实上,我有一个类似但有点相反的问题,我有许多用户可以输入数字的字段,但我想用“格式化”值更新数字(例如“1,000.00”而不是“1000” )。

要在不刷新的情况下更新页面——并且在 Jeditable 插件向指定的“提交 URL”发出请求之后——您需要callback在调用editable插件函数时为选项参数提供一个函数。这是我自己的代码中的一个示例回调函数:

function (result) {

    if (result.status == 'Success') {
        thisAmountElement.className += ' success';
        $(thisAmountElement).text(result.formattedAmount);
    }
    else
        thisAmountElement.className += ' danger';
}

在提交 URL 处处理请求的代码返回一个带有statusandformattedAmount属性的 JSON 对象。[该formattedAmount属性包含 Jeditable 提交的新金额,但使用相同的服务器端代码格式化页面上的所有其他金额。]

于 2014-01-31T15:21:46.867 回答