札幌Web制作のシンクグラフィカ

【Mailform Pro 4.0.9】価格(data-price)と人数の合計金額について

かおりさん (2013-07-29 02:18:51) http://villahalfmoon.moo.jp/reserve.html


以前からメールフォームプロを使用させて頂いています。
素晴らしいメールフォームを無償で頂いて大変感謝をしています。

現在、ペンションのメールフォームを作成しており
Mailform Pro 4.0.9を使用させて頂いています。

件名にもある通り、価格(data-price)で取得した金額と
ドロップダウンリストで入力された人数で、合計金額を表示したいのですが上手くいかず、
過去のサポートセンターを調べたところ、javaScriptのdocument.geElementByIdの質疑応答があったので
試して見たのですが上手くいかず・・・今回ご質問させて頂きました。

私が注目している箇所は
mailformpro/librarys/core.jsの17行目に記載されている

var hoge = Number(e.getAttribute(’data-price’)) || null;
ここで価格を取得していると思うので

var qty = Number(e.getAttribute(’data-num’)) || null; ← 人数選択ドロップダウンリストの値を取得
var price = hoge * qty;

といったように試しているのですが
この場合だと合計金額欄(id=mfp_price)に0円としか表示されません(涙)。

var price = hoge + qty;
この場合はきちんと足されたものが表示されます。

var price = hoge * hoge;
この場合も掛け算されたものがきちんと表示されますが、
上記の「hoge * qty」だけが上手くいきません。

多忙を極める和田さんの負担になるべくならないよう自己解決したかったのですが
今回ばかりはお力添えを頂けないでしょうか。

お手数をお掛けして申し訳ございません。
返信を頂けたら幸いです。

Re:【Mailform Pro 4.0.9】価格(data-price)と人数の合計金額について

和田 (2013-08-05 02:22:54) www.synck.com

単純に合計金額に対して人数を掛け合わせるだけであれば、もうちょっと良い方法があります。できればcore.jsには触らないほうが身のためです。
cart/cart.jsというファイルがあると思うのですが、そちらを参考にして頂いて
mfp.extend.event(’calc’,
  function(){
    mfp.Price = mfp.Price * document.getElementById(’qty’).value;
  }
);
みたいなアドオンを書くとそのような形になります。
サンプルのアドオンを添付しますのでお試しください。