基于POST数据重新加载表

时间:2010-11-29 15:26:43

标签: php jquery ajax

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

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

everithing很好(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但没有成功的结果。请帮忙。 非常感谢。 黛安娜

3 个答案:

答案 0 :(得分:1)

尝试以下方法:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

这种行为是我想要的。 :)