【问题标题】:how to pass php value from one file to another through java script如何通过javascript将php值从一个文件传递到另一个文件
【发布时间】:2023-03-25 00:31:01
【问题描述】:

我正在使用 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 传递给脚本并传递给我的控制器。如何完成这项任务?

谢谢 库马尔

【问题讨论】:

  • 在 HTML 按钮中放置一个类,用于删除角色。使用 jquery 捕捉点击事件并在其中执行 Sajith 代码...
  • 我试过 ajax 代码对我不起作用....感谢您的宝贵建议
  • 我通过使用隐藏字段更新我的代码并将值设置为隐藏字段 rno 并提交表单。但我有问题 'location.href = "url('/role/add_role/', 'delete', 'myvar')?>";'这段代码行不行?

标签: javascript php concrete5 concrete


【解决方案1】:

您可以使用 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 中,您可以使用 $_POST['emp_id'] 获取员工 ID

【讨论】:

  • 在控制器文件中还有一些功能,那么如何通过ajax调用确切的删除功能。我没有ajax经验。谢谢建议
【解决方案2】:

你可以使用 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

【讨论】:

  • 嗨其实这是我的问题,我用参数 foreach 调用 deleteRole 函数,但我不知道如何在 JS 函数中接收参数值....请正确理解
  • 在 otherfile.php 中接收 any_variable 变量。使用 $myvariable = $_POST['any_variable'];接收
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    我不知道 Concrete-5 CMS。但是,我给你一个大致的想法
    我认为,您正在使用一些按钮,如果用户想删除角色,可以单击该按钮。

    &lt;td&gt;".$ih-&gt;button_js(t('Delete'), "deleteRole('".$data['role_id']."')", 'left', 'error')."&lt;/td&gt;

    我的建议,
    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.");
                }
            });
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多