Как передать значение PHP из одного файла в другой через скрипт Java

Я работаю с 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 ответа

Решение

Вы можете передать значение на сервер с помощью вызовов 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']

Я бы добавил дополнительную переменную в адрес для удаления ссылки. Предпочтительно идентификатор строки, которую нужно удалить.

Вы можете сделать это легко с помощью 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

Я не знаю Бетон-5 CMS. Но я даю вам общую идею
Я думаю, вы используете какую-то кнопку, на которую пользователи могут нажать, если они хотят удалить роль.

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

Мое предложение,
добавлять onClick на кнопку
onClick="deleteEmployee(roleId);" // roleId - динамический идентификатор роли с помощью цикла

Честно говоря, чувак, я не знаю, как ты добавишь это к своей кнопке, что, я думаю, наверняка найдется способ просто добавить это к существующему 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.");
            }
        });
    }
}
Другие вопросы по тегам