Smartyをテンプレートとして使用したPHPでの発注フォームを作っています。
商品群をデータベースから取得し、{section}で一覧表示をさせているのですが、
各行で商品ごとの小計を計算させる箇所でエラーが出てしまいます。
Warning: Smarty error: math: parameter a: is not numericと表示されており、
「数量」欄の入力ボックスへ数字を入力しても、「小計」欄に数字は表示されません。
小計以外のデータベースから配列として持ってきたレコード内容の表示までは、ズレや抜け、文字化けなどなく動作しています。
また、入力された注文内容を次のページへPOSTする動きを考えていますが、まだ作成していないためinputなど抜けている動作があります。
また、ページ内での計算実行の処理をさせるボタンなどは作っておりませんが、
テンプレート内で完結するようリアルタイムで入力した値の計算をさせるのは、JQueryなどを使わないと難しいでしょうか?
Smartyを触るのが初めてなので、tplソースの書き方など根本的な誤りがあったらすみません。
みなさまの知恵をお力をお借りできれば幸いです。
tpl
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<meta name = "format-detection" content = "telephone=no"> 6<link rel="stylesheet" href="./common/css/jquery.mobile-1.1.0.min.css" /> 7<link rel="stylesheet" href="./common/css/style.css"> 8<link rel="stylesheet" href="./common/css/button.css"> 9<script src="http://code.jquery.com/jquery.min.js"></script> 10 11{literal} 12<script type="text/javascript" charset="utf-8"> 13</script> 14{/literal} 15 16</head> 17 <body class="ui-mobile-viewport"> 18 <div data-role="header" class="ui-header ui-bar-a" role="banner"> 19 <h1 class="ui-title" tabindex="0" role="heading" aria-level="1">{$TITLE}</h1> 20 </div> 21 22<br> 23 24 <div> 25 <table class ="center-position" border="1"> 26 <!-- 見出し項目表示箇所 Start --> 27 <tr style=color:"#ffffff" bgcolor="#000000" height=35px> 28 <th width=75>メーカー</th> 29 <th width=250>商品名</th> 30 <th width=100>単価(円)</th> 31 <th width=50>数量</th> 32 <th width=100>小計</th> 33 </tr> 34 <!-- 見出し項目表示箇所 End --> 35 36 <!-- 検索データ表示箇所 Start --> 37 {section name=dbList loop=$result} 38 <tr height=35px> 39 <td class="display-center">{$result[dbList].MAKER}</td> 40 <td class="display-left">{$result[dbList].NAMAE}</td> 41 <td class="display-right">{$result[dbList].KINGAKU}</td> 42 <td center"><input type="number" name="suryo" style="width:100; height:25px;font-size: 20px;"></td> 43 {assign var="element1 value={$result.KINGAKU}} 44 {assign var="element2 value="suryo"} 45 {math equation=a+b a=$element1 b=$element2 assign=syokei} 46 <td class="display-right">{$syokei}</td> 47 </tr> 48 {/section} 49 <!-- 検索データ表示箇所 End --> 50 </table> 51 <br> 52 </form> 53 </div> 54 55 </body> 56</html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/29 08:24
2019/10/30 05:22 編集
2019/11/18 04:53
2019/11/18 05:00
2019/11/18 06:59
2019/11/18 08:59