1

我正在使用 Concrete-5 CMS,在将值表单视图传递给控制器​​时遇到问题。在我的应用程序中,我使用以下代码来显示员工角色。

foreach($rd as $data){
    echo "<tr><td>".$data[role_name]."</td><td>".$data[role_description]."</td><td><a href=".$this->action('edit', $data['role_id']).">Edit</a></td><td>".$ih->button_js(t('Delete'), "deleteRole('".$data['role_id']."')", 'left', 'error')."</td></tr>";
}
<input type="hidden" name="rno" id="rno" />

脚本:

$delConfirmJS = t('Are you sure you want to remove this Role?'); ?>

<script type="text/javascript">
    function deleteRole(myvar) {
    var role = document.getElementById('rno');
    role.value = myvar;
    if (confirm('<?php echo $delConfirmJS ?>')) {
        $('#rolelist').submit();
        //location.href = "<?php echo $this->url('/role/add_role/', 'delete', 'myvar')?>";
    }
}
</script>

html 代码我通过编辑操作传递 role_id 来进行编辑操作。但是,在删除的情况下,我应该要求确认,所以我使用 java 脚本来确认它并调用 href 位置和所有。

但我不知道如何将 role_id 传递给脚本并传递给我的控制器。如何完成这个任务?

谢谢库马尔

4

4 回答 4

0

您可以使用 ajax 调用将值传递给服务器。请参阅以下代码。这里我们使用一个确认框来获得用户的确认。

function deleteEmployee(empId){
   var confirm=confirm("Do you want to delete?");
   if (confirm)
   {
     var url = "path/to/delete.php";
     var data = "emp_id="+empId;
     $.ajax({
       type: "POST",
       url: "otherfile.php",
       data: data ,
       success: function(){         
          alert("Employee deleted successfully.");
       }
     });
  }
}

在 delete.php 中,您可以通过使用获取员工 ID$_POST['emp_id']

于 2013-11-11T12:20:28.607 回答
0

我不知道 Concrete-5 CMS。但是,我给你一个
我认为的一般想法,你正在使用一些按钮,如果他们想删除角色,用户可以点击这些按钮。

<td>".$ih->button_js(t('Delete'), "deleteRole('".$data['role_id']."')", 'left', 'error')."</td>

我的建议,
添加onClick到按钮
onClick="deleteEmployee(roleId);"// roleId - 角色的动态 id 通过循环

坦率地说伙计,我不知道您将如何将其添加到您的按钮中,我想肯定会有某种方法可以简单地将其添加到现有的 html 中。

现在,只需使用 Sajith 的功能

// Sajith's function here
function deleteEmployee(empId){

    var confirm=confirm("Do you want to delete?");
    if (confirm){
        var url = "path/to/delete.php";
        var data = "emp_id="+empId;
        $.ajax({
            type: "POST",
            url: "otherfile.php",
            data: data ,
            success: function(){         
                alert("Employee deleted successfully.");
            }
        });
    }
}
于 2013-11-12T07:46:30.230 回答
0

您可以使用 jquery 轻松完成

var dataString = 'any_variable='+ <?=$phpvariable?>;        
$.ajax({
type: "POST",
url: "otherfile.php",
data: dataString,
success: function(msg){         
    // msg is return value of your otherfile.php
}
}); //END $.ajax
于 2013-11-11T12:05:28.853 回答
0

我会在删除链接地址中添加一个额外的变量。最好是需要删除的行的ID。

于 2013-11-11T12:10:51.300 回答