请教:如何将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按钮了。不知道这是什么原因?应该如何解决呢?
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按钮了。不知道这是什么原因?应该如何解决呢?
解决方案 »
- 是php配置问题吗?
- 保存数组到MYSQL是否经常用呢?
- 高分求救Cannot send session cookie和Cannot send session cache limiter问题的解决方案
- 关于APACHE运行一段时间后会占100%CPU导致死机问题.
- 如何剔除一个数组中的空值?
- 简转繁出现的问题
- 请教:WIN-XP系统下:进数据库phpmyadmin时如何使用用户名和密码验证?
- 要找工作的php高手请加我的qq 138891918
- 字符串操作,如果我要取得“http://xxx.csdn.net”中的“xxx”字符串,用在找2级域名的主机头。xxx可能是任意字符串
- 一个创建数据库的问题:
- 关于php+pgsql防注入的问题
- 视频直播
在给打印用的CSS里面排版好就OK
divAjaxTest 的内容就是从数据库读取的一堆数据的表格,但是它们的标题和表格的项目等都不尽相同,所以使用了AJAX方法。请问如何在firefox下的控制台看报错呢?那个,我是菜鸟,还没用过你说的这个方法。
如果要使用那样的功能“将AJAX中的参数传递给PHP页面”可以尝试用jquery的ajax方法哦。
谢谢回复,请问能不能给个具体例子呢?
<link rel="stylesheet" type="text/css" media="screen" href="xxx.css" /> 其中media指定的属性就是设备,显示器上就是screen,打印机则是print,电视是tv,投影仪是projection
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>";
?>
请问,能给个具体的例子么?
这个帖子http://bbs.csdn.net/topics/390398302的17楼