客户端:如果textbox1和textbox 2设置了计数器++

时间:2012-08-20 08:42:07

标签: c# javascript asp.net

我正在使用包含Multiview控件和一些向导步骤的asp.net页面。 我有几个名为TextboxA [i]和TextBoxB [i]的文本框和一个计数器。 Foreach几个非空的文本框我想要我的计数器++。

在服务器端,我可以在TextboxA [i]和TextboxB [i] onTextChange事件中编写类似

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

不太好...... 我要使用javascript在客户端增加计数器但是 - 如果我有 - 我不知道如何。拜托,有人可以帮助我吗?

2 个答案:

答案 0 :(得分: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++;

答案 1 :(得分: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);
}
相关问题