当从属下拉列表刷新页面时,将输入框值存储为变量

时间:2011-12-15 07:41:42

标签: php javascript mysql refresh

我有一个php页面来捕获销售订单。它有一个依赖的下拉列表,它根据所选的值提取mysql表信息。

当用户输入订单数量时,我想要做一些事情:

  • 首先,输入的值应写入变量$ line1qty。我有条目: <? $line1qty=$_POST[line1qty]; ?>在我的代码中然而这不起作用,因为我不确定它是否在javascript刷新页面时设置。

  • 其次,下一个表行应该可见,最多会有72个表项,我希望默认情况下隐藏所有没有选中值的行。

任何帮助都会受到赞赏,我知道我只是错过了一些简单的东西,但我仍然是PHP的新手。再次感谢。

我的页面代码是:

<style type="text/css">
<!--
@import url("style.css");
-->
</style>

<script language="JavaScript">

function autoSubmit()
{
    var formObject = document.forms['theForm'];
    formObject.submit();
}

</script>

<?php

$packcode = $category = $sellingunit = null; //declare vars

if(isset($_GET["packcode"]) && is_numeric($_GET["packcode"]))
{
    $packcode = $_GET["packcode"];
}

if(isset($_GET["category"]) && is_numeric($_GET["category"]))
{
    $category = $_GET["category"];
}

if(isset($_GET["sellingunit"]) && is_numeric($_GET["sellingunit"]))
{
    $sellingunit = $_GET["sellingunit"];
}

?>

<form name="theForm" method="get">

<? $line1qty=$_POST[line1qty]; ?>


Capture the sales data 
<table id="hor-minimalist-a">
    <tr>
        <th valign=bottom>
        Select a Pack Code
        </th>
        <th valign=bottom>
        Category
        </th>
        <th valign=bottom>
        Selling <br> Units
        </th>
        <th valign=bottom>
        <b>Grouping</b>
        </th>
        <th valign=bottom>
        <b>Full Pallet<br>QTY</b>
        </th>
        <th valign=bottom>
        <font color=red><b>Order QTY</b></font>
        </th>
        <th valign=bottom>
        <font color=green><b>Points</b></font>
        </th>

    </tr>
    <tr>
        <td>
    <select name="packcode" onChange="autoSubmit();">
        <option value="null"></option>
<option value="1046" <?php if($packcode == 1046) echo " selected"; ?>>1046 - Domestos Liq Lemon 20x750ml</option>
<option value="1174" <?php if($packcode == 1174) echo " selected"; ?>>1174 - Omo Wash Pwdr MultiActiv6x6x500g</option>
<option value="1175" <?php if($packcode == 1175) echo " selected"; ?>>1175 - Surf Wash Pwdr Reg 6x6x500g</option>
<option value="1182" <?php if($packcode == 1182) echo " selected"; ?>>1182 - Breeze Soap Amber 8x12x125g</option>


    </select>
        </td>
        <td width=75>
            <?php

    if($packcode != null && is_numeric($packcode))
    {

        //POPULATE category

        $sql = "SELECT packcode, sellingunits, category,casesperpallet,grouping,shrinksperpallet FROM skudata WHERE packcode = $packcode";
        $data = mysql_query($sql);

        while($row = mysql_fetch_array($data))
        {        
            echo $row[category];

        ?>
        </td>
        <td width=75>
        <? echo $row[sellingunits]; ?>
        </td>
        <td width=75>
        <? echo $row[grouping]; ?>
        </td>
        <td width=75>
        <? if($row[sellingunits]=="CS"){echo $row[casesperpallet];} else {echo $row[shrinksperpallet];} ?>
        </td>
        <td width=75>
        <? if($line1qty > 0){ ?> 
        <input type=text name=line1qty id=line1qty size=3 value=<? echo $line1qty; ?> style="   color: red;text-align: center" onChange="autoSubmit();>
        <? } else { ?> 
        <input type=text name=line1qty id=line1qty size=3 style="color: red;text-align: center"> 
        <? } ?>
        </td>
        <td width=75>
        <input type=text name=line1points id=line1points size=3 disabled>
        </td>

    </tr>

        <?
            }}
        ?>

再次感谢,感谢本论坛提供的帮助。

祝你有个美好的一天, 莱恩

1 个答案:

答案 0 :(得分:1)

在这些方面:

<form name="theForm" method="get">
<? $line1qty=$_POST[line1qty]; ?>

您使用“$ _POST”,但您的表单方法是$ _GET,因此请使用$_GET["line1qty"]