在php中单击按钮时发生了什么

时间:2014-03-04 11:41:10

标签: javascript php jquery button drop-down-menu

我是php的新手,我正在使用php开发一个Web应用程序。有一个选择框和按钮。当我从“数量”选择框中选择一个值时,它应相应地更改总值。但是,只有在点击“结帐”按钮之后才会发生这种变化,为什么会这样?即使按下“F5”按钮,它也不会改变。只有当我按下按钮。请帮帮我。

以下是图片:enter image description here

选择框代码和总值更改代码;

echo "<tr>";
            echo "<td width = '55%'>";
            echo $NAME[$i];
            echo "</td>";

            echo "<td width = '15%'>";
            echo $PRICE[$i];
            echo "</td>";

            echo "<td width = '15%' align = 'center'>";
            echo "<select name='leDate1' class='textBox' id='leDate1' onchange='getvalue(this.value)'>";

                                $id = $_SESSION['ItemId'];
                                $result = mysql_query("SELECT Quantity FROM itemcategory WHERE ItemId = '$id'");

                                $quantity = "";
                                while($row = mysql_fetch_assoc($result))
                                {
                                    $quantity = $row['Quantity'];
                                }
                                $title = $_SESSION['selected_option'];
                                echo "<option selected=\"true\" style=\"display:none;\">$title</option>";

                                for($j = 1; $j <= $quantity; $j++){
                                    echo "<option value=\"$j\">$j</option>";
                                }

                            echo "</select>";

            echo "</td>";
                            echo "<td width = '15%'>";
            echo $PRICE[$i]*$_SESSION['selected_option'];
            echo "</td>";
        echo "</tr>";
        }
        echo "</table>";
        echo "</form>";

使用此选项我从selectbox中获取选定值:

if (isset($_REQUEST['leDate1'])) {
        $_SESSION['selected_option'] = $_POST["leDate1"];
    }

注意: 以下是实现上述问题的代码:

$FormName = "form2";                                
echo '<script language="javascript">';
echo 'function run(){';
echo 'document.'.$FormName.'.submit();';
echo '}';
echo '</script>';

1 个答案:

答案 0 :(得分:0)

  

但是只有在点击“结帐”按钮之后才会发生变化,为什么会这样?

  1. 提交按钮将提交表单。
  2. 提交表单的过程将从表单中获取所有用户输入,并使用它来构建HTTP请求。
  3. Web服务器和PHP将处理该HTTP请求并生成响应。
  4. 响应将发送到浏览器。
  5. 然后浏览器将呈现它。
  6.   

    即使我按下'F5'按钮,它也没有改变。

    这将导致浏览器重复 last 请求,而不是使用新用户输入创建新请求。

      

    当我从“数量”选择框中选择一个值时,它应该相应地更改总值。

    然后你需要使用JavaScript:

    • 当用户输入更改时复制PHP的功能
    • 用户输入更改时提交表单
    • 构造一个要在后台发送的HTTP请求(例如使用XMLHttpRequest)并操纵DOM以在响应中插入数据。