<form id="form"> (省略) <button id="buttton"> <input type="hidden" name="Time" id="Time"> <span>送信</span> </button> </form> //外部スクリプトの読み込み //エラーがなければsubmitボタンにvalidation::okを発生させている <script> //サーバーから送信日時を取得 function getTime() { var request = new XMLHttpRequest(); request.open('HEAD', window.location.href, true); request.send(); request.onreadystatechange = function() { if (this.readyState === 4) { var time = new Date(request.getResponseHeader('Date')); document.getElementById("Time").value = time; console.log(document.getElementById('Time')); } } } $(function(){ var $form = $("#form"), $submit = $("#button"); $submit.on('validation::ok', function(event, $form) { if($submit.not('error')){ getTime(); $form.submit(); } }); }); </script>
フォーム送信日時を取得して、hiddenで渡し、メール本文に記載したいと思っています。
こちらのフォームの送信ボタンを押すと、
コンソールログにはTimeの値(送信日時)が表示されるのですが、
メール本文にはの値が表示されません。
試しに、
function getTime() { (略) }
と
$(function(){ (略) });
の間にgetTime();を記載してみたところメール本文にも日時が表示されるのですが、
これだとブラウザにアクセスした時間になってしまうので、
送信のタイミングで実行させたいのですが。。。
解決のためのアドバイスをいただければ幸いです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/04 02:48