请教:如何将AJAX中的参数传递给PHP页面(类似form那种方式)?

lucyxi 2013-05-06 09:05:03
请教:如何将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按钮了。

不知道这是什么原因?应该如何解决呢?

...全文
210 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
深圳phper 2013-05-15
  • 打赏
  • 举报
回复
引用 9 楼 lucyxi 的回复:
[quote=引用 6 楼 nowphp 的回复:] 代码貌似不全,不好定位问题。 如果要使用那样的功能“将AJAX中的参数传递给PHP页面”可以尝试用jquery的ajax方法哦。
请问,能给个具体的例子么?[/quote] 这个帖子http://bbs.csdn.net/topics/390398302的17楼
lucyxi 2013-05-15
  • 打赏
  • 举报
回复
引用 6 楼 nowphp 的回复:
代码貌似不全,不好定位问题。 如果要使用那样的功能“将AJAX中的参数传递给PHP页面”可以尝试用jquery的ajax方法哦。
请问,能给个具体的例子么?
lucyxi 2013-05-15
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
你加了 form 标签后的代码呢?
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>"; ?>
longxuu 2013-05-13
  • 打赏
  • 举报
回复
引用 3 楼 lucyxi 的回复:
[quote=引用 1 楼 longxuu 的回复:] 给需要打印的页面设置一个专门用于打印机的CSS就可以了 在给打印用的CSS里面排版好就OK
谢谢回复,请问能不能给个具体例子呢?[/quote]
<link rel="stylesheet" type="text/css" media="screen" href="xxx.css" /> 

其中media指定的属性就是设备,显示器上就是screen,打印机则是print,电视是tv,投影仪是projection
深圳phper 2013-05-12
  • 打赏
  • 举报
回复
代码貌似不全,不好定位问题。 如果要使用那样的功能“将AJAX中的参数传递给PHP页面”可以尝试用jquery的ajax方法哦。
xuzuning 2013-05-10
  • 打赏
  • 举报
回复
你加了 form 标签后的代码呢?
lucyxi 2013-05-10
  • 打赏
  • 举报
回复
引用 2 楼 jordan102 的回复:
不知道你的 divAjaxTest 是什么内容,你可以在firefox下的控制台看看报什么错误了。
divAjaxTest 的内容就是从数据库读取的一堆数据的表格,但是它们的标题和表格的项目等都不尽相同,所以使用了AJAX方法。 请问如何在firefox下的控制台看报错呢?那个,我是菜鸟,还没用过你说的这个方法。
lucyxi 2013-05-10
  • 打赏
  • 举报
回复
引用 1 楼 longxuu 的回复:
给需要打印的页面设置一个专门用于打印机的CSS就可以了 在给打印用的CSS里面排版好就OK
谢谢回复,请问能不能给个具体例子呢?
一起混吧 2013-05-06
  • 打赏
  • 举报
回复
不知道你的 divAjaxTest 是什么内容,你可以在firefox下的控制台看看报什么错误了。
longxuu 2013-05-06
  • 打赏
  • 举报
回复
给需要打印的页面设置一个专门用于打印机的CSS就可以了 在给打印用的CSS里面排版好就OK

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧