2

JavaScriptを使用してポップアップ内のテキストボックスの日付形式を検証する必要があります。アラートボックスを使用する代わりに、のようなエラーメッセージを表示する必要がありますdocument.getElementById("MainContent_ErrorMsg").innerHTML = "Please Enter valid date"
この動作を実現する他の方法はありますか?私のJavaScriptコードは次のとおりです。

    var startdate = document.getElementById("MainContent_uscEventParameters_txtEarliestStartDate");
    var enddate = document.getElementById("MainContent_uscEventParameters_txtLatestEndDate");
    var validformat=/^\d{4}\-\d{2}\-\d{2}$/;
    if (! (startdate.value.match(validformat)) && (enddate.value.match(validforamt)) )
    {
        alert("please enter valid date format");
        //document.getElementById("MainContent_ErrorMsg").innerHTML = "Please enter valid date";
    }
4

1 に答える 1

4

アラートダイアログを表示する代わりに、シンプルで純粋なJavaScriptを使用して要素の横にメッセージを表示できます。

function AddErrorLabel(element, msg) {
    var oLabel = document.createElement("span");
    oLabel.className = "error_msg";
    oLabel.innerHTML = msg;
    var parent = element.parentNode;
    if (element.nextSibling) {
        if (element.nextSibling.className !== "error_msg") {
            parent.insertBefore(oLabel, element.nextSibling);
        }
    }
    else {
        parent.appendChild(oLabel);
    }
}

使用法:

if (! (startdate.value.match(validformat)) && (enddate.value.match(validforamt)) )
{
    AddErrorLabel(startdate, "please enter valid date format");
}

ライブテストケース。(テキストボックスを空のままにして、[送信]をクリックします)

jQueryのようなライブラリにはそのような機能があり、はるかに優れていますが、単純なニーズの場合は、これで十分であり、基本的なJavaScriptを使用しているためクロスブラウザです。

于 2012-04-24T08:14:32.267 に答える