请教:如何将AJAX中的参数传递给PHP页面(类似form那种方式)?这个AJAX里面是一个div,div里有一个table(里面包括一个Print按钮和一些text),我现在需要将这个table里的内容传递给一个有关打印该AJAX div功能的PHP页面(它的具体功能是实现打印预览、打印机打印,以及打印成word文件三个功能)。我想使用form标签,但是一旦加入form,不知道为啥,这个AJAX div就不能显示了。以下是部分代码,请各位大虾不惜赐教,谢谢啦~!test.js文件中调用AJAX的代码:
function callAjaxTest(obj) {
var strTitel = $F('Titel'); 
new Ajax.Updater('divAjaxTest', 
'ajax/ajax.test.php', {
asynchronous : true,
method : 'post',
encoding : 'windows-1252',
parameters : {
Titel : strTitel 
},
onComplete:function(request) { 
document.getElementById('divAjaxTest').style.display='block';
     }
});
}
ajax.test.php的代码:
<?php
$strTitel = trim($_POST['Titel']);
echo "<div class='TestList'>";
// Titel und Button
echo "<div style='height: 20px;'>";
echo "<table width='100%'>";
echo "<colgroup>";
echo "<col width='90%' />";
echo "<col width='10%' />";
echo "</colgroup>";
echo "<tr>";
echo "<td>";
echo "<input id='testTitel' name='testTitel' type='text' size='35' readonly='true' value=" . $strTitel . "'/></td>";
echo "<td>";
echo "<input type='button' style='width:80px;' value='Print' onclick='printTestList(this);'/></td>";
echo "</tr>";
echo "</table>";echo "<table width='100%'>";
//省略要打印的表格的具体内容
echo "</table>";
echo "</div>";
?>我的想法是在echo "<div class='TestList'>";之前(或之后)加form标签,然后在echo "</div>";之后(或之前)结束form。这样就可以在print_test_list.php文件里直接用$_POST['testTitel'];语句得到testTitel的内容了。但是尝试后发现,只要一加入form标签,这个ajax.test.php就不会弹出来了,所以也就不可能有Print按钮了。不知道这是什么原因?应该如何解决呢?

解决方案 »

  1.   

    给需要打印的页面设置一个专门用于打印机的CSS就可以了
    在给打印用的CSS里面排版好就OK
      

  2.   

    不知道你的 divAjaxTest 是什么内容,你可以在firefox下的控制台看看报什么错误了。
      

  3.   


    divAjaxTest 的内容就是从数据库读取的一堆数据的表格,但是它们的标题和表格的项目等都不尽相同,所以使用了AJAX方法。请问如何在firefox下的控制台看报错呢?那个,我是菜鸟,还没用过你说的这个方法。
      

  4.   

    你加了 form 标签后的代码呢?
      

  5.   

    代码貌似不全,不好定位问题。
    如果要使用那样的功能“将AJAX中的参数传递给PHP页面”可以尝试用jquery的ajax方法哦。
      

  6.   


    谢谢回复,请问能不能给个具体例子呢?
    <link rel="stylesheet" type="text/css" media="screen" href="xxx.css" /> 其中media指定的属性就是设备,显示器上就是screen,打印机则是print,电视是tv,投影仪是projection
      

  7.   


    ajax.test.php加了form后的代码:
    <?php
    $strTitel = trim($_POST['Titel']);
    echo "<form>";
    echo "<div class='TestList'>";
    // Titel und Button
    echo "<div style='height: 20px;'>";
    echo "<table width='100%'>";
    echo "<colgroup>";
    echo "<col width='90%' />";
    echo "<col width='10%' />";
    echo "</colgroup>";
    echo "<tr>";
    echo "<td>";
    echo "<input id='testTitel' name='testTitel' type='text' size='35' readonly='true' value=" . $strTitel . "'/></td>";
    echo "<td>";
    echo "<input type='button' style='width:80px;' value='Print' onclick='printTestList(this);'/></td>";
    echo "</tr>";
    echo "</table>";echo "<table width='100%'>";
    //省略要打印的表格的具体内容
    echo "</table>";
    echo "</div>";
    echo "</form>";
    ?>
      

  8.   


    请问,能给个具体的例子么?
    这个帖子http://bbs.csdn.net/topics/390398302的17楼