こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ホームページのフォームにお問い合せ番号を追加したい

ホームページのお問い合わせフォームを作っています。引き継いだCGIを利用してカラムに入力した内容をメール送信しています。このフォームに自動でユニーク番号を発生させてカラムに代入し、メール送信のデータに加えたいと思っています。簡単な方法でできる追加コードを教えてください。
よろしくお願いします。

投稿日時 - 2017-09-15 18:39:20

QNo.9374907

困ってます

質問者が選んだベストアンサー

No.1のお礼コメントに対して回答します。

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
</head>
<body>
 <form>
  <input type="hidden" id="contact_id">
 </form>
 <!-- ↓ライブラリを読み込む↓ -->
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
 <!-- ↓IDの生成とフォームへの代入↓ -->
 <script>
  var m = moment();
  var c_id = m.format('YYYYMMDDHHmmss'); // お問い合わせID
  document.getElementById('contact_id').value = c_id; // フォームへ代入
 </script>
</body>
</html>

必要なものだけの記述となりますが、このような実装になります。</body>の直前でスクリプトを実行し、隠しフォームにお問い合わせIDを代入します。

簡単のため、Moment.jsという時刻を扱うライブラリを使用しております。(詳細は参考URLにて)

このサイトの都合上、インデントを全角スペースで表現しています。上記ソースをコピペして検証する際には適宜置換してください。

参考URL:http://momentjs.com/

投稿日時 - 2017-09-15 21:58:47

お礼

ありがとうございます。
試してみます。

投稿日時 - 2017-09-16 00:19:09

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

最も簡単な方法はinput type="hidden"な隠しフォームに日時データをもとに生成したコードを入れて送信することだと考えます。

日時データ(例えばYYYYMMDDHHMMSSのような、単純な年月日時分秒のフォーマット)であればほぼ重複は起こりませんのでお問い合わせ番号として利用することはできるでしょう。

投稿日時 - 2017-09-15 19:22:42

お礼

早速の回答ありがとうございます。できれば、日付データを発生させる書き方とインプットボックスへの代入のコードをお示しいただけますでしょうか。

投稿日時 - 2017-09-15 20:41:07

あなたにオススメの質問