在点击时形成文本输入不需要的重定向

时间:2011-02-10 10:16:07

标签: html

请帮助,我无法理解为什么当我点击用于输入数量来购买的文本框时,下面的代码一直将我带到viewcart.php,我确保关闭页面中的所有锚标签。我甚至删除了所有到viewcart.php的链接,但没有运气:

<form name="cx" method="get" action="viewcart.php?action=add&id=<?php $pid; ?>">        
    <?php

        while($row=mysql_fetch_assoc($result)){
        $pid=$row['PID'];
        ?>
            <tr>
                <td><?php echo $row['PID']; ?></td>
            <td><a href="viewprod.php?prodname=<?php $row['PRODUCT']; ?>"> <?php echo $row['PRODUCT']; ?></a></td>

                <td><?php echo $row['CATEGORY']; ?></td>
                <td><?php echo $row['P_DESC']; ?></td>
                <td><?php echo $row['QTYHAND']; ?></td>
                <td><?php echo $row['S_PRICE']; ?></td>

                <input type="hidden" value="<?php echo $row['QTYHAND']; ?>" name="qoh[]"/>

                <input type="hidden" value="<?php echo $row['S_PRICE']; ?>" name="sprice[]"/>


                <?php echo "<td><a href=\"viewcart.php?action=add&id=$pid\"><img src=\"../img/system/add-icon.png\"></a></td>"; ?>
                <td><input type="checkbox" name="sc[]" id="<?php echo $row['PID'];?>" value="<?php echo $row['PID']; ?>"></input></td>
                <td><input type="text" name="qbuys[]" value="" id="qb"></input></td> <!--when I click on this, it seems like I'm clicking on a link to viewcart.php -->

</table>
<input type="submit" value="submit"></input>
</form>   

我删除了一些我认为在解决此问题时没有用的代码。请帮忙。感谢。

3 个答案:

答案 0 :(得分:1)

您不是echo $pid进入表单操作。

这意味着当您提交表单时,它不会达到您期望的位置。

action="viewcart.php?action=add&id=<?php echo $pid; ?>"

action="viewcart.php?action=add&id=<?=$pid?>"

第二次检查仅在您的服务器启用了短标签时才有效。

答案 1 :(得分:1)

我建议您在浏览器中加载页面,然后点击“查看源代码”,而不是查看生成页面的PHP代码。通过这种方式,您可以确切地看到正在生成的代码,然后从那里开始工作以确定哪个语句出错。

但是,我建议查看以下内容:

<td><a href="viewprod.php?prodname=<?php $row['PRODUCT']; ?>"> <?php echo $row['PRODUCT']; ?></a></td>

“产品”属性没有回音。

答案 2 :(得分:1)

您的代码有两个问题。你没有回应$ pid并且你有一个范围错误。

<form name="cx" method="get" action="viewcart.php?action=add&id=<?php $pid; ?>">

您需要添加echo

<form name="cx" method="get" action="viewcart.php?action=add&id=<?php echo $pid; ?>">

另外,$ pid在你进入while循环之前不存在,所以你总是会回显'':

 // $pid == null;
<form name="cx" method="get" action="viewcart.php?action=add&id=<?php $pid; ?>">


<?php
    while($row=mysql_fetch_assoc($result)){
    $pid=$row['PID']; // NOW $pid has a value
?>

如果您查看此页面的来源,您应该看到:

 <form name="cx" method="get" action="viewcart.php?action=add&id=">

注意空id。这会让你回到viewcart.php