-1

我有一个 php 应用程序,它从 mysql 数据库中获取请求并显示它们以供进一步批准。表单是从 div 中获取send_req.php并显示在showrequests.php. 这是代码send_req.php

<table style="border:0;border-color:transparent">
<tr style="background-color:lightblue">
<td>Product ID</td>
<td>Name</td>
<td>Quantity</td>
<td><input type="checkbox" name="selectAll" /></td>
<td>Authorized Quantity</td>
</tr>
<form method="post" action="send_req.php">
<?php
$reqNum = $_POST['rId'];
echo "<h3>Request # $reqNum</h3>";

$showReqs = mysql_query("Select * from request where request_number='".$reqNum."' and status=0");
    while($resultA = mysql_fetch_array($showReqs))
    {
        $rBy = $resultA['requested_by'];
        $rTime = $resultA['request_time'];
        $rId = $resultA['id'];
        $pId = $resultA['product_id'];
        $getPrName = mysql_query("select name from products where id='$pId'");
        $prN = mysql_fetch_array($getPrName);
        $prName = $prN['name'];
        $rQuantity = $resultA['requested_quantity'];
        $status = $resultA['status'];

?>
    <tr>
        <input type="hidden" name="rId[]" value="<?php echo $rId; ?>"/>
    <td style="background-color:orange"><input type="text" name="prId[]" value="<?php echo $pId; ?>" readonly="readonly" style="border:0px"/></td>
    <td style="background-color:orange"><input type="text" name="prName[]" value="<?php echo $prName; ?>" readonly="readonly" style="border:0px"/></td>
    <td style="background-color:orange"><input type="text" name="quantity[]" value="<?php echo $rQuantity; ?>" readonly="readonly" style="border:0px"/></td>
    <td style="background-color:orange"></td>
    <td><input type="text" name="pQuantity[]" /></td>
    </tr>
<?php }
?>
    <tr>
<td></td>
<td></td>
<td></td>
<input type="hidden" name="rNum" value="<?php echo $reqNum; ?>" />
<td></td>
<td><input type="submit" name="submitReq" value="Send" id="submit_req" style="backgroundColor:Transparent;border:0;color:blue;width:100;"/></td>
</tr>
</form>
</table>
<?php
echo "Requested By:$rBy at ".substr($rTime,11,18)." ".substr($rTime,0,10);
?>

这是showrequests.php页面

<html>
<head>
<script type="text/javascript">
function getRequest(ob)
{
    var id = ob.id;
    if(window.XMLHttpRequest)
{
    ajaxOb = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
    ajaxOb = new ActiveXObject("Microsoft.XMLHTTP");
}  
     ajaxOb.open("POST", "send_req.php");   
     ajaxOb.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                    
     ajaxOb.send("rId=" + id);  
     ajaxOb.onreadystatechange = function()  
    {  
        if(ajaxOb.readyState == 4)
        {
            if(ajaxOb.status == 200)
            {
                document.getElementById("showTable").innerHTML = ajaxOb.responseText;
            }
        }

    }  
}
</script>
</head>
<body>
<?php
$mysql_con = mysql_connect("localhost","root","") or die("Could not connect ".mysql_error());
$mysql_db = mysql_select_db("cart",$mysql_con) or die("Unable to select db ".mysql_error());
echo "<h2 align='center'>Pending Requests</h2>";
$showReq = mysql_query("Select distinct(request_number) as rNums from request where status=0");
?>
<div style="float:left;margin-right:15px;">
<br/>
<?php
while($result = mysql_fetch_array($showReq))
{
    $rNum = $result['rNums'];
?>
<input type="button" name="fetchReq" id="<?php echo $rNum; ?>" value="<?php echo "Request # $rNum"; ?>" style="margin-bottom:5px;backgroundColor:Transparent;border:0;color:blue;width:100;text-Decoration:underline" onclick="getRequest(this)"/>

<?php
    echo "<br/>";
}
?>
</div>
<div id="showTable" style="float: left">
</div>
</body>
</html>

我现在的问题是在 chrome 和 IE 中一切正常,但是当我单击 firefox 中的提交按钮时,表单没有提交。我正在使用 Firefox 20.0.1。更新:我已经删除了 仍然无法工作的html,head and body标签send_req.php

4

2 回答 2

1

表格内不允许使用表格。另请参阅 表格内的表格

问候,迈克尔

于 2013-04-27T16:28:33.240 回答
0

提醒:HTML 文档的结构是:

<!-- No div before html tag -->
    <!DOCTYPE html> <!-- Doctype for HTML5 ; use whatever doctype you need -->
    <html>
        <head>

        </head>

        <!-- No div before body tag -->
        <body>
             <!-- Divs only belongs here -->
        </body>    
    </html>
<!-- No div after html tag -->

如果您不遵循此基本结构,您将强制浏览器解释您的无效代码(+ 不提供文档类型时的怪癖模式)。

一些浏览器能很好地猜出你试图做什么,而另一些则不能,就像 Firefox 一样。

请使用 HTML 验证器作为W3 的验证器来检查您的语法。

于 2013-04-27T15:53:28.947 回答