我正在使用 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>
网页代码我通过传递role_id编辑操作来编辑操作。但是,在删除的情况下,我应该要求一个构象,所以我使用 java 脚本来符合它并调用 href 位置和所有。
但是我不知道如何将role_id传递给脚本并传递给我的控制器。 如何完成此任务?
谢谢库玛
您可以使用 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.");
}
});
}
}
在删除中.php您可以使用$_POST['emp_id']
获取员工 ID
你可以通过使用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
我会在删除链接地址中添加一个额外的变量。最好是需要删除的行的 ID。
我不知道Concrete-5 CMS。但是,我给你一个大致的想法
我认为,您正在使用一些按钮,如果用户想要删除 role.
<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.");
}
});
}
}