1ページに1500個程度の入力フォームがあります(50商品×30日分想定)
PHP+Smartyで構築しています。
HTML
1<form method="POST" onSubmit="return check()"> 2<input type="hidden" name="code" value="{$code}"> 3<input type="hidden" name="date" value="{$date}"> 4<input type="number" step=1 name="在庫" value="{$在庫[$date][$code]}"> 5</form>
JavaScript
1function check(){ 2 if(window.confirm('更新してよろしいですか?')){ // 確認ダイアログを表示 3 return true; // 「OK」時は送信を実行 4 } 5 else{ // 「キャンセル」時の処理 6 window.alert('キャンセルされました'); // 警告ダイアログを表示 7 8 return false; // 送信を中止 9 } 10}
送信ボタンは配置せず、フォームの値を書き換えてEnter押下で更新する想定です。
JavaScriptにて確認ダイアログを表示し、「キャンセル」を選択した際、
「キャンセルされました」と表示され、「OK」を押下すると元の画面に戻りますが、
フォームの値はEnter押下直前の書き換えた数値になってしまいます。
これを、入力を弄る前の元の値( $在庫[$date][$code] )に戻す方法はないでしょうか?
画面内だけで完結する方法がなければ、returnの場合に別のPOSTをして画面を再取得でも構いません。
(できれば画面内で完結させたいですが)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/01/21 13:13