我正在使用包含Multiview控件和一些向导步骤的asp.net页面。 我有几个名为TextboxA [i]和TextBoxB [i]的文本框和一个计数器。 Foreach几个非空的文本框我想要我的计数器++。
在服务器端,我可以在TextboxA [i]和TextboxB [i] onTextChange事件中编写类似
的内容if(String.IsNullOrWhiteSpace(TextboxA[i]))
counter++;
不太好...... 我要使用javascript在客户端增加计数器但是 - 如果我有 - 我不知道如何。拜托,有人可以帮助我吗?
答案 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);
}