0

2 つのテキスト ボックスがあり、1 つはスケジュールされた日付用で、もう 1 つはスケジュールされた時間用です。両方のテキスト ボックスが空白の場合、または両方にコンテンツがある場合は、検証に合格したいと考えています。コンテンツが 1 つだけの場合、検証を失敗させたい。すべてがサーバー側で正常に動作しており、次のクライアント側コードは Chrome で正しく動作しています。

    function CheckScheduledDateTime(sender, args) {
        if (ctl00_MainContent_txtScheduledTime.value!="" || ctl00_MainContent_txtScheduledDate.value!="" )
        {
            if (ctl00_MainContent_txtScheduledTime.value!="" && ctl00_MainContent_txtScheduledDate.value=="")
            {
                args.IsValid=false;
                alert("Scheduled date is required");
            }
            else if (ctl00_MainContent_txtScheduledTime.value=="" && ctl00_MainContent_txtScheduledDate.value1!="")
            {
                args.IsValid=false;
                alert("Scheduled time is required");
            }
            else
            {
                args.IsValid=true;
            }

        }
        else 
        {
            args.IsValid = true;
        }         
    }

Internet Explorer では機能せず、次のエラーが表示されます。

「Microsoft JScript ランタイム エラー: 'ctl00_MainContent_txtScheduledTime' は未定義です」

奇妙なことに、Visual Studio で壊れた状態で、もう一度試してみると、また壊れてしまいますが、3 回目に試してみると、検証が正しく動作します。

誰かがこれに光を当てることができますか?

4

1 に答える 1

1

このように使えます

ctl00_MainContent_txtScheduledTimeは、を使用して初期化するまでjavascript変数ではありません

var ctl00_MainContent_txtScheduledTime = document.getElementById('<%=txtScheduledTime.ClientID%>');

またはあなたはそれを次のように使うことができます

(document.getElementById('<%=txtScheduledTime.ClientID%>').value!="" || document.getElementById('<%=txtScheduledDate.ClientID%>').value!="" )

よろしく。

于 2012-03-28T09:24:55.510 に答える