【问题标题】:twitter bootstrap modal vs. PHP POST request through javascript-ajaxtwitter 引导模式与通过 javascript-ajax 的 PHP POST 请求
【发布时间】:2014-02-06 21:01:15
【问题描述】:

为什么下面的代码不起作用? 我只需要在点击 btn 时通过 javascript id 内容发布。 这段代码在许多其他情况下都能正常工作,但在这里我使用的是 twitter 引导模式。 谢谢。

<button id="<?php echo $id; ?>" class="btn btn-warning" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
      <span class="glyphicon glyphicon-trash"></span> delete id
    </button>

<script type="text/javascript">
  //delete id
  $(document).on('click','.btn-warning',function(){ 
    var element = $(this);
    var del_id = element.attr("id");
    var info = 'id=' + del_id;

    if(confirm("are you sure ?")){
      $.ajax({
        type: "POST",
        url: "page.php",
        data: info,
        success: function(){ window.location.href = "/logout.php"; }
      });
    }
    return false;
  });
</script>

PHP
if($_POST['id']){

      $id=$_POST['id'];
      $id = mysql_real_escape_string($id);
...

【问题讨论】:

  • 如果将事件直接绑定到选定的类会发生什么?喜欢:$(".btn-warning").on('click',function(){
  • 控制台有错误吗?
  • @EduLomeli 什么都没发生
  • @vladkras 只是可预测的注意事项:未定义索引:id in ...
  • 绑定事件没问题,所以id attr 好了? console.log(del_id)

标签: javascript php forms twitter-bootstrap


【解决方案1】:
info = {'id' :  del_id };

尝试将数据作为数组发送。

【讨论】:

    【解决方案2】:

    首先,我认为你应该在 PHP 中使用 isset(variable):

    if (isset($_POST['ID'])
    {
        ...
    

    第二,它不起作用,因为你需要设置数据和一个key -> value 数组。

    data: {id: "ID_NUMBER"}
    

    查看 Jquery 网站上的示例:https://api.jquery.com/jQuery.ajax/

    我还建议使用唯一 ID 属性或新的/唯一的类属性,然后使用它来添加 onClick 事件。

    【讨论】:

    • 我只需要通过点击按钮上的 javascript id 内容发布。
    猜你喜欢
    • 2018-06-16
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多