バージョン選択

フォーラム

メニュー

オンライン状況

43 人のユーザが現在オンラインです。 (33 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 43
もっと...

サイト内検索

質問 > フロント機能 > チェックボックスが認識されていない

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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="" />
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,728名です
総投稿数は109,955件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.