私はこれをほとんど機能させていますが、完全には完了できません。mm/dd/yyyy として「到着」フィールドにフィードする予約ページに jQuery 日付ピッカーがあります。私はJavascriptを使用してそれを別々のmm、dd、およびyyyy値に分割しています.フォームがサードパーティの処理サイトに投稿される前に、これらの値をフォームのMonth、Day、およびYearフィールドに戻そうとしています. .
Javascript を使用してこれらのフィールドに値を正常に割り当てることができますが、ユーザーが選択した日付を保持する必要があるため、送信ボタンが押された後にこれを行うことが私の課題です。
関連するすべての部分を提供するために、ここに私の送信ボタンがあります:
<input type='submit' onclick='toProcess()' name="submitButton" id='submitButton'
value='Check Availability' />
日付を取得し、それを 3 つの個別の値に分割する関数 (送信ボタンがクリックされたときに実行されるはずです) は次のとおりです。
function toProcess(){
var date = document.getElementById("Arrival").value;
var splitDate = date.split("/");
var arrivalMonth = splitDate[0];
var arrivalDay = splitDate[1];
var arrivalYear = splitDate[2];
return [arrivalMonth, arrivalDay, arrivalYear];
}
ここでは、返された値を取得して変数を作成し、フォームにフィードバックします。
var newDates = toProcess();
arrivalMonth = newDates[0];
arrivalDay = newDates[1];
arrivalYear = newDates[2];
ここまでは、問題なく動作しています。アラートを使用することで、この時点まで値が確実にフィードされていることがわかりました。しかし、これらの値をフォームにフィードバックすることができませんでした。
私はこれを使ってそうしようとしています:
document.getElementById("Month").value = arrivalMonth;
document.getElementById("Day").value = arrivalDay;
document.getElementById("Year").value = arrivalYear;
[送信] ボタンが押される前に存在していた変数を使用すると、このアプローチはうまく機能します。新しい値を機能させることができません。
問題は、[送信] ボタンをクリックして関数が適切に呼び出されている間、関数の外側にあるため、それに続く要素が実行されていないことにあると思われます。これらの値を関数内からフォーム フィールドに戻す方法がわかりませんでした。
私はそれを明確に説明しましたか?これに関するヘルプは大歓迎です。ありがとう!