如何使用消息变量打开一个窗口?我'米 假设有办法使这个工作,但到目前为止,我没有运气。
echo "<script>myWindow=window.open('','','width=200,height=100');
myWindow.document.write("$message");</script>";
给出$ message变量的内容...
$message = "<html><body><table>
<tr><td><strong>
Visitor's Name:</strong> ".$_POST['tester_name']."</td></tr>".
"<tr><td><strong>
Visitor's E-mail:</strong> ".$_POST['tester_email']."</td></tr>".
"<br /><tr><td><strong>Answers:</strong></td></tr>";
$x = 1;
$y = 0;
foreach($fields as $key => $field) {
if (preg_match("/q./", $field)) {
if ($field == "q3" or $field == "q9") {
$cor = (implode(" or ", $corArray[$y]));
} else {
$cor = $corArray[$y];
}
$message = $message.
"<tr><td><em>$x.</em> (
<b>Response:</b>".$_POST[$field].
")</td><td><b>Correct Answer:</b>".$cor."
</td></tr>";
++$x; ++$y;
}
}
$message = $message."<tr><td><br /><strong>
Score:</strong> ".$numCorrect."/10 or ".$perc."
%</td></tr></table></body></html>";
答案 0 :(得分:0)
尝试:
echo "<script>myWindow=window.open('','','width=200,height=100');myWindow.document.write(\"".$message."\");</script>";
您忘了逃避"
内的echo
答案 1 :(得分:0)
正如ra_htial指出的那样,你需要引用引号。此外,如果任何发布的参数具有换行符,则您的代码将不起作用。这将最终终止Javascript语句,它将引发错误。确保为换行符正确切换值。还要在浏览器中启用javascript错误报告。此外,您还可以从脚本中查看生成的源代码,这将帮助您查找由新行终止的确切语句。
答案 2 :(得分:0)
你可以做这项工作:
php
文件,其中包含创建表格的功能。稍后,当您打开弹出窗口时,将变量设置为第二页。 第一页的第二页调用函数,带有您收到的参数。
我建议您使用framework
制作应用。
答案 3 :(得分:0)
您可能希望base64_encode
消息并通过$ _GET参数传递它。在接收消息的页面上,只需使用base64_decode获取原始文件。
答案 4 :(得分:0)
以下是转换代码时需要了解的所有内容,将其另存为php页面并在浏览器中打开以查看源代码将其拼凑在一起:
<?
$myPhpCalculations = "php within html example:" . 1234;
$message = "<p>my string with some quotation marks escaped: \" \" \": " . $myPhpCalculations . "</p>";
echo "<script>myWindow=window.open('','','width=200,height=100');
myWindow.document.write('" . stripslashes($message) . "');</script>";
?>
基本上,如果您使用引号在$ message中保存字符串,则必须在该字符串中转义任何引号。然后使用stripslashes()函数追加它,以避免破坏回显到页面的html代码。