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

簡単な方法は、フォームに2つのルールセットを用意することです。1つは、すべてのフィールドと「必須」です。もう1つは同じルールですが、「必須」ではありません

次に、更新する場合は、「必須」なしでフォーム検証を実行します。

送信する場合は、必要なルールセットを使用してフォーム検証を実行します。

于 2012-07-26T00:49:38.517 に答える