【发布时间】:2015-06-09 16:26:57
【问题描述】:
假设PHP 文件中有:
function printAllRows(){
for( everyrows in db){
echo "<tr>";
echo "<td> $_POST['..'] <td>";
echo "<td> $_POST['..'] <td>";
echo "<tr>";
}
}
function printSpecifRows($keyword){
.....
}
//页面第一次加载时
if ($db->preRow() >0){ // count rows in DB , if there already show them as table
printAllRows();
}
同时,还有
<input type="text" name="keywoard" />
<input type="submit" name="find" value="search" />
如果用户输入关键字按下按钮,则只显示匹配关键字的行!
所以:
if( $_POST["find"]){
?>
<script>
// first clear the current DOM table
document.getElementById("myTable").innerHTML="";
</script>
<?php
// then print again! according to printSpecifRows($keyword)
function printSpecifRows($keyword){
.....
}}
但这里的问题是 JS 在 PHP 之前首先呈现,所以 printSpecifRows($keyword) 永远不会到达,任何想法。我真的很感谢你的帮助。谢谢。
【问题讨论】:
-
危险:此代码是vulnerable to XSS。用户输入在插入 HTML 文档之前需要转义!
-
您是否重新调整了 PHP 和 JavaScript 不能同时运行?为什么要在新页面加载时直接使用 JavaScirpt 来清除表格?
-
好的,谢谢,但请帮助我。 :)
-
js 在 PHP 之前没有被“渲染”。 php在服务端执行,js在客户端执行。他们是完全不同的环境。
-
谢谢你,@epascarello,@MarcB,我刚刚从这个问题中学到了很多新东西。
标签: javascript php