質問 > フロント機能 > チェックボックスが認識されていない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
syuwa |
投稿日時: 2014/11/26 12:19
対応状況: 開発中
|
半人前 登録日: 2014/9/7 居住地: 投稿: 22 |
チェックボックスが認識されていない 現在、割引クーポンの情報がpayment.phpからconfirm.phpへ引き継がれず、どの部分が誤っているかわからず難儀しています。
クーポンを選択し、その割引額を会計時の合計から引くという事を行うためクーポンをチェックボックスで選択、割引額を選択したクーポン情報から割引額を取得し会計へ引き継ぐという作業を行いたいのですが、うまくいっていません。 lfRegistDataメソッドへ、次のコードを追加し、クーポンの情報を結合し、使用している割引額の合計をだしています。 //登録時はクーポンIDをカンマ区切りの文字列に変換する foreach($arrForm['coupon'] as $val){ if($val != ""){ if($coupon != null){ $coupon .= ','; } $coupon .= $val; } } $objQuery = new SC_Query(); //使用しているクーポンの割引額を合計する if($arrForm['discount']==null){ $arrForm['discount'] = 0; } foreach ($arrForm['coupon'] as $val){ if($val != ""){ $arrForm['discount'] += $objQuery->get("discount","dtb_coupon","coupon_id=?",array($val)); } } $arrForm['coupon'] = $coupon; $objPurchase->saveOrderTemp($uniqid, $arrForm); } これにより一時受注テーブルに登録するのですが、 その際、データベースを調べたところ一時受注テーブルへNULLのデータが入っており、チェックボックスの選択がうまく認識されていないのではないかと考えたのですが、どの部分で誤っているのかわからず 今回質問させていただきました。 payment.tplは <!--クーポン選択画面--> <!--{if $arrCoupon|@count > 0}--> <!--{assign var=key value="coupon"}--> <div class="pay_area"> <h3> クーポンの選択</h3> <p>使用するクーポンを選択ください。</p> <!--{if $arrErr[$key] != ""}--> <p class="attention"><!--{$arrErr[$key]}--></p> <!--{/if}--> <table summary="クーポン選択"> <colgroup width="20%"></colgroup> <colgroup width="40%"></colgroup> <colgroup width="40%"></colgroup> <tr> <th class="alignC">選択</th> <th class="alignC">クーポン</th> <th class="alignC">割引額</th> </tr> <!--{section name=cnt loop=$arrCoupon}--> <tr> <td> <!--{assign var=key value=$arrForm.coupon}--> <input type="checkbox" name="coupon[]" value="<!--{$arrCoupon[cnt].coupon_id}-->" <!--{if $arrCoupon[cnt].coupon_id|in_array:$key.value}-->checked<!--{/if}--> > </td> <td> <label for="coupon[]"><!--{$arrCoupon[cnt].title|h}--></label> </td> <td> <label for="coupon[]"><!--{$arrCoupon[cnt].discount|h}--></label> </td> </tr> <!--{/section}--> </table> </div> <input type="hidden" name="coupon" value="" /> <!--{/if}--> 少し長くなってしまいましたが、よろしければご指摘よろしくお願いいたします。 |
ゲスト |
投稿日時: 2014/11/26 13:08
対応状況: −−−
|
Re: チェックボックスが認識されていない syuwa 様
まずは、ブラウザのデベロッパツールで正常にPOSTされているか確認してみてください。 $arrForm['coupon'] を利用していますが、addParam()で'coupon'を設定していますでしょうか? こちらもご確認いただければと思います。 |
|
syuwa |
投稿日時: 2014/11/26 17:03
対応状況: 開発中
|
半人前 登録日: 2014/9/7 居住地: 投稿: 22 |
Re: チェックボックスが認識されていない ko-shi様
お返事ありがとうございます。 もうしわけありません。勉強不足のためaddParamの役割についてしっかり理解できていないのですが、フォームから取得するために必要な記述なのですね。ありがとうございます。 $objFormParam->addParam('クーポン','coupon',INT_LEN,'n',array('NUM_CHECK')); といった記述を追加してみたのですが、うまくいっていません。 EXIST_CHECKを試しに記述し実行を行ってみたのですが、項目をチェックしてみてもチェックされていない扱いとされていました。 addParamの引数が誤っているのでしょうか? デベロッパツールを利用し、POSTの値をみてみたのですが, チェックボックスに対応した値がPOSTされていました。 |
casa |
投稿日時: 2014/11/26 18:24
対応状況: −−−
|
長老 登録日: 2011/10/3 居住地: 投稿: 210 |
Re: チェックボックスが認識されていない syuwaさん、こんばんわ。
最後の方に記述されている、以下の行が影響しているということはないでしょうか? <input type="hidden" name="coupon" value="" /> |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |