【问题标题】:Reload table based on POST data根据 POST 数据重新加载表
【发布时间】:2012-08-16 22:18:39
【问题描述】:

我正在尝试创建一个可以根据用户输入更改其内容的表格。该表显示了来自数据库的一些数据;它从默认为当前日期的给定日历日期开始选择。 我看了一下jQuery - Reload table。 然后我制作了一个 PHP 脚本来生成表 gentable.php。 当我尝试使用带有事件的按钮时:

$(document).ready(function(){
 $("#maket").click(function(){
    $("#mytable").load("tablegen.php");
 });
});

一切都很好(div mytable 充满了生成的表)。 现在我想向 PHP 脚本发送一些输入数据,以便生成以不同日期开头的表格。这是我尝试过的:

$(document).ready(function() { 
    $('#myform').ajaxForm({ 
       target: '#mytable', 
 success: function() { 
            $("#mytable").load("tablegen.php");
        } 
    }); 
});

并在 PHP 脚本中添加以下几行:

if (isset($_POST['textf'])){
    $value = $_POST['textf'];  
}else{
    $value = '2010/11/28';
}

genTable($value);

不幸的是,这会打开一个新页面,其中包含未修改开始日期的表格。 我究竟做错了什么? 我也尝试使用 .post 但没有成功的结果。请帮忙。 非常感谢。 戴安娜

【问题讨论】:

  • 请重新格式化您的代码。提问时请查看“如何格式化”部分。

标签: php jquery ajax


【解决方案1】:

尝试以下方法:

$.ajax({
  type: 'POST',
  url: 'gentable.php',
  data: {textf: **INSERT_VALUE_HERE**},
  dataType: 'html',
  success: function(data, txtStatus, xmlHttpReq){
    $('#mytable').html(data);
  }
});

【讨论】:

    【解决方案2】:

    http://api.jquery.com/jQuery.ajax/

    $.ajax({
       type: "POST",
       url: "tablegen.php",
       data: "textf=whateveryouwant",
       success: function(msg){
         alert( "Data back: " + msg );
       }
     });
    

    【讨论】:

      【解决方案3】:

      感谢您的回答。由于某种原因,我没有设法使用$.ajax。相反,我将所需的值传递给加载函数,如下所示:

      $(document).ready(function(){
       $("#maket").click(function(){
          $("#mytable").load("gentabel.php", {textf: $('#textf').val()});
       });
      });
      

      行为是我想要的。 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多