1

在这里需要一点帮助。我只想使用javascript从数据库中删除一行。但面临一些问题。

这是我的看法:

<?php echo anchor("#","Delete",array('class'=>'selectedpagination', 'onclick'=>'confirmDelete("admin/editpage/","'.$file->page_id.'");'))?>

Javascript在这里

function confirmDelete(controller,id)
{
    if(confirm("Are you sure you want to delete this record"))
    {
        <!--location.href="main.php?page="+page+"&tblname="+tblname+"&fldname="+fldname+"&id="+id+"&action=delete";-->
        window.redirect("http://localhost/sama/index.php/admin/"+controller+"/"+id);
    }

如何让它工作?它不工作。

请任何急需帮助的人或人。提前致谢。

4

1 回答 1

0

您可能需要考虑使用 jQuery 的简写 AJAX 函数$.post()将数据发布到您需要的页面,如下所示:

function confirmDelete(controller, id){

    if(confirm("Are you sure you want to delete this record")){

        var data = "page="+page+"&tblname="+tblname+
                   "&fldname="+fldname+"&id="+id+"&action=delete";

        $.post(controller, data)
            .done(function(data) {
                // redirect or further logic here
        });

    }

}

在服务器端,您会收到每个发布的变量,例如:

$action = $this->input->post('action');


除了上述解决方案之外,您可能还需要重新考虑您的方法。您通过 javascript 向控制器发送数据,然后在整个过程中使用 javascript 将浏览器重定向到另一个页面。调用控制器并通过会话 cookie 或通过 url 传递您需要的变量可能更容易,当一切都在服务器端完成后,使用 codeigniter 的redirect()帮助函数将浏览器重定向到您想要的位置。如果您想构建一个异步应用程序,在这里使用 javascript 和 AJAX 会很好......但是...... ajax 调用和重定向会破坏异步调用的目的。希望我能有所帮助。

于 2013-02-14T13:17:37.733 回答