1

ユーザーが私のサイトを午後 11 時から午後 12 時まで使用している場合 (とにかくシステム時間) 、HTML フォームの値を変更する必要があります。

現在、私はこれを次のようにしています:

<a id="dayLink" class="tooltip" name="dayLink"  onclick='javascript: document.getElementById("day").value++; window.alert("date has been advanced by 1 day.");'>

これは機能しますが、ユーザーがリンクを表示し、その上にカーソルを置いてツール ヒントを読み、リンクをクリックして値を変更する必要があります。

ユーザーが知らないうちにバックグラウンドで発生するように、これを自動化したいと思います。

これは私が試したものです:

window.onload=function(){
 myMonthFunction();
 myDayFunction();

}



function myDayFunction()
{
    var d = new Date();
    var x = document.getElementById("day");
    x.value=d.getDate();

    y.value=hours[d.getHours()];

    if (y == 11){

      document.getElementById("day").value++; 
      window.alert("date has been advanced by 1 day.");

    }
}

window.alert は確実に呼び出されます (テストのためだけにあります) が、day の値はインクリメントされません。これが関数としてではなくリンクとして機能する理由がわかりません。誰かが私が間違っていることを見ていますか?


最終的に何が機能したか:

function myDayFunction()
{
    var d = new Date();
    var x = document.getElementById("day");
    x.value=d.getDate();

    var hours = d.getHours()

    if (hours == 23){

      document.getElementById("day").value++; 
      window.alert("date has been advanced by 1 day.");
}
4

1 に答える 1

1

変数yは、投稿したコードで定義されていません。y.value = ...y が定義されていないため、実行しようとしても実行されません。使用する前に y を定義することで修正できます。

または、あなたの場合、その要素が既に にキャッシュされているxため、x 自体を使用できます。

于 2013-01-27T14:50:30.183 に答える