2

マルチビュー コントロールといくつかのウィザード手順を含む asp.net ページに取り組んでいます。TextboxA[i] や TextBoxB[i] のような名前のテキストボックスが 10 個あり、カウンターがあります。空ではないテキストボックスの各カップルに、カウンター++が必要です。

サーバー側では、 TextboxA[i] および TextboxB[i] onTextChange イベントに次のように書き込むことができます

if(String.IsNullOrWhiteSpace(TextboxA[i]))
    counter++;

あまり良くありません... JavaScriptを使用してクライアント側でカウンターをインクリメントする必要がありますが、ある場合、方法がわかりません。お願いします、誰か助けてくれませんか?

4

2 に答える 2

0

クライアント側のコード:

<script type="text/javascript">
var counter = 0;

function increaseCounter(textAID, textBID)
{
    var textA = document.getElementById(textAID);
    var textB = document.getElementById(textBID);
    if (isNullOrWhitespace(textA.value) && isNullOrWhitespace(textB.value))
        counter++;
}

function isNullOrWhitespace( input ) {

    if (input == null) return true;

    return input.replace(/\s/g, '').length < 1;
}
</script>

https://stackoverflow.com/a/5559461/1495902から取得した isNullOrWhitespace のコード。

サーバー側のコード:

for (int i = 0; i < TextboxA.Count() ; i++)
{
    var script = "increaseCounter(" + TextboxA[i].ClientID + "," + TextboxB[i].ClientID + ")";
    TextboxA[i].Attributes.Add("onchange", script);
    TextboxB[i].Attributes.Add("onchange", script);
}
于 2012-08-20T09:33:58.957 に答える
0

まず、テキスト ボックスに ID を指定する必要があります。お気に入り

TextboxA[i].ID = "textboxA" + i;
TextboxB[i].ID = "textboxB" + i;

次に、クライアント側からこれらのテキストボックスにアクセスします

var TextboxA = document.getElementById("textboxA" + i);
var TextboxB = document.getElementById("textboxB" + i);
if((TextboxA.value == null || TextboxA.value=="" )&&(TextboxB.value == null || TextboxB.value=="" ))
counter++;
于 2012-08-20T08:51:22.293 に答える