Onclick事件未打开Bootstrap模式

时间:2018-09-05 11:27:22

标签: javascript php jquery html

我试图在单击按钮时打开引导程序模式,但似乎我的代码未运行。这是我的代码段:

<button type="button" class="btn btn-xs btn-default" onclick="openViewUserModal(<?= $users['userid']; ?>); return false;">
  <span class="glyphicon glyphicon-eye-open"></span>
</button>
function openViewUserModal(id) {
  var data = {
    "id": id
  };
  jQuery.ajax({
    url: "includes/viewUser.php",
    method: "POST",
    data: data,
    success: function(data) {
      jQuery('body').append(data);
      jQuery('#viewUserModal').modal({
        backdrop: 'static',
        keyboard: false,
        show: true
      });
    }
  });
}

单击按钮不会引起响应。我在做什么错了?

2 个答案:

答案 0 :(得分:0)

这应该起作用,标记echo语句。我认为这是一个错字。

<button type="button" class="btn btn-xs btn-default" onclick="openViewUserModal('<?php echo $users['userid']; ?>');">
  <span class="glyphicon glyphicon-eye-open"></span>
</button>

答案 1 :(得分:0)

假设<?= $users['userid']; ?>的输出是一个字符串,那么您需要将其用引号引起来:

onclick="openViewUserModal('<?= $users['userid']; ?>'); return false;"

话虽这么说,使用内联事件处理程序是一种非常过时的方法,应避免这种情况。改用不显眼的事件处理程序。您可以通过data属性向该事件处理程序提供参数,如下所示:

$('.btn').click(function() {
  $.ajax({
    url: "includes/viewUser.php",
    method: "POST",
    data: {
      "id": $(this).data('userid')
    },
    success: function(data) {
      $('body').append(data);
      $('#viewUserModal').modal({
        backdrop: 'static',
        keyboard: false,
        show: true
      });
    }
  });
});
<button type="button" class="btn btn-xs btn-default" data-userid="<?= $users['userid']; ?>">
  <span class="glyphicon glyphicon-eye-open"></span>
</button>