如何从jEditable返回新值

时间:2012-04-11 20:04:39

标签: php jquery mysql jeditable

在刷新页面之前,我似乎无法从我的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>

1 个答案:

答案 0 :(得分:0)

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

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

要更新页面而不刷新 - 并且在Jeditable插件向指定的“提交URL”发出请求之后 - 您需要在调用{{1}的callback选项参数中提供一个函数插件功能。这是我自己的代码中的示例回调函数:

editable

在提交URL处理请求的代码返回一个具有function (result) { if (result.status == 'Success') { thisAmountElement.className += ' success'; $(thisAmountElement).text(result.formattedAmount); } else thisAmountElement.className += ' danger'; } status属性的JSON对象。 [formattedAmount属性包含Jeditable提交的新金额,但使用相同的服务器端代码格式化,格式化页面上的所有其他金额。]