0

我正在设置一个购物车,用户可以在其中更新数量。因为我不知道aJAX 可以立即执行,所以我希望通过刷新购物车在完整的php 中执行此操作。(您仍然可以查看我尝试使用 AJAX 进行设置的帖子

问题是购物车下方有一个表格,当用户更改数量(输入)时,他必须单击“刷新”或“重新计算”,无论如何。

所以我的问题是我让验证过程运行,因为重新计算就像一个提交按钮(价格在表单方法的开头计算),因为用户修改了输入,并且对于所有尚未填写的字段然而,我得到了一个错误。

我怎么能说“如果用户单击刷新,不要将表单提交到验证过程,只需考虑该输入”?我不知道是否可以在同一页面上有 2 个单独的表格?(他们在彼此里面)

顺便说一句,我正在使用 codeIgniter。

我给出了我表格的一部分,我需要听

form_dropdown('quantity'.$product['title'],$options,$value[$product['title']],$data0);

当我想更新数量时,只有这一个。

<ul class="form">
    <li>
        <h2>Your Information</h2>
    </li>
    <li>
        <ul class="form" id="threeColumns">
            <li>
                <?php
                echo form_open('main/Form');

                echo form_label('First Name', 'firstname');
                echo ' :</br>';
                if (set_value('firstname')) {
                    $valuefirstname = set_value('firstname');
                } else {
                    $valuefirstname = $this->session->userdata('firstname');
                }
                echo form_input('firstname', $valuefirstname);
                echo form_error('firstname');

                echo '</li><li>';

                echo form_label('Last Name', 'lastname');
                echo ' :</br>';
                if (set_value('firstname')) {
                    $valuelastname = set_value('lastname');
                } else {
                    $valuelastname = $this->session->userdata('lastname');
                }
                echo form_input('lastname', $valuelastname);
                echo form_error('lastname');

                echo '</li><li>';

                echo form_label('Email', 'email');
                echo ' :</br>';
                if (set_value('firstname')) {
                    $valueemail = set_value('email');
                } else {
                    $valueemail = $this->session->userdata('email');
                }
                echo form_input('email', $valueemail);
                echo form_error('email');
                ?>
                <div class="fError Right">
                    <?php
                    if (ISSET($error) AND $error != NULL)
                        echo $error;
                    ?>
                </div>
            </li>
        </ul>
    </li>

    <div class="break">
    </div>

    <li id="Payment">
        <div id='Table'>
            <table>
                <tr>
                    <th id="top-left">
                        Product
                    </th>
                    <th>
                        Color
                    </th>
                    <th>
                        Quantity
                    </th>
                    <th>
                        Price Per Product
                    </th>
                    <th id= "top-right">
                        Total
                    </th>
                </tr>
                <?php foreach ($products as $product) { ?>
                    <tr class="line">
                        <td>
                            <img id="tableImage" src="<?php echo base_url($product['image_url']) ?>" alt="product" width="121"  />
                        </td>
                        <td>
                            <?php echo $product['title'] ?>
                        </td>
                        <td>
                            <?php
                            $options = array(
                                '0' => '0',
                                '1' => '1',
                                '2' => '2',
                                '3' => '3',
                                '4' => '4',
                                '5' => '5',
                                '6' => '6',
                                '7' => '7',
                            );

                            if ($product['quantity'] == 0) {
                                $value[$product['title']] = set_value('quantity' . $product['title']);
                            } else {
                                $value[$product['title']] = $product['quantity'];
                            }
                            $data0 = 'class="quantSelect" value="' . $value[$product['title']] . '" id="quant' . $product['title'] . '"';

                            echo form_dropdown('quantity' . $product['title'], $options, $value[$product['title']], $data0);
                            ?>
                        </td>
                        <td>
                            <?php echo $product['price'] ?>
                        </td>
                        <td id="<?php echo 'price' . $product['title'] ?>">
                            $<?php echo $total[$product['title']] ?>
                        </td>
                    </tr>
                    <?php } ?>

谢谢

4

1 回答 1

0

一种简单的方法是为您的表单设置两个规则集。一个是所有字段和“必需”。另一个是相同的规则,但没有“必需”

然后如果刷新,运行没有“必需”的表单验证

如果提交,则使用所需的规则集运行表单验证。

于 2012-07-26T00:49:38.517 回答