0

私はこれをほとんど機能させていますが、完全には完了できません。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;

[送信] ボタンが押される前に存在していた変数を使用すると、このアプローチはうまく機能します。新しい値を機能させることができません。

問題は、[送信] ボタンをクリックして関数が適切に呼び出されている間、関数の外側にあるため、それに続く要素が実行されていないことにあると思われます。これらの値を関数内からフォーム フィールドに戻す方法がわかりませんでした。

私はそれを明確に説明しましたか?これに関するヘルプは大歓迎です。ありがとう!

4

1 に答える 1

0

基本的に、送信ボタンをクリックすると、準備が整った出力が目的のフィールドに表示されません。

あなたはそれからフィドルを作ることができますか?

また、過去に私が直面した問題の 1 つは、送信ボタンがページを更新することを認識していなかったため、スクリプトの使用が実質的に削除されていたことです。

于 2012-10-15T02:19:55.103 に答える