我使用javascript通过下面的代码将这个表传递到一个php文件:
var tbl = document.getElementById("prtable").innerHTML;
save(tbl);
function save(tbl)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
}
}
xmlhttp.open("POST", "save.php", true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send("q=" +tbl);
}
}
然后在PHP文件中:
$table = $_POST['q'];
echo $table; //test display
是否有一种方法可以这样做,以便在表中选择特定的单元格?
document.getElementById('tableID').rows.item(1).getElementsByTagName("td")[0].innerHTML
php是否有对应的javascript代码?
我想要做的是能够检索每个元素中的数据。我在网上搜索了答案,但我已经被这个问题困了好几个小时了。如果有人能帮助我,我将不胜感激。
谢谢!
顺便说一下,echo $table测试显示如下:<tr>
<th>PR Number</th>
<th>Item Code</th>
<th>Description</th>
<th>Unit of Measure</th>
<th>Price</th>
<th>Quantity</th>
<th>Amount</th>
</tr>
<tr><td>PR001</td><td>IC001</td><td>Gloves (Plastic)</td><td>Pc</td><td>20.00</td><td>2</td><td>40.00</td></tr><tr><td>PR001</td><td>IC002</td><td>Gloves (Rubber)</td><td>Pc</td><td>25.00</td><td>3</td><td>75.00</td></tr></thead>
简短的回答是没有,没有一个本地PHP函数来做您想做的事情。你需要了解你的Javascript和PHP代码实际上在做什么。
你的Javascript将你的表卷成一个序列化的格式,然后将它传递给PHP。然后,PHP将表数据读取为一个很长的字符串。
你想做的是使用RegEx解析出字符串中的各种值,你最终会更好地长期学习RegEx而不是导入一个新的函数。我也同意AeroX,因为你控制应用程序的两边,你最好传入JSON或XML,然后你可以很容易地遍历它。
最后但并非最不重要的是,您确实需要对输入进行消毒。这段代码:
$table = $_POST['q'];
echo $table; //test display
是不安全的代码。