我有一个问题,我不知道如何开始......
我们都知道DOM元素有自己的事件,比如'onChange'。那么TextBox可以触发onChange事件,任何人都可以注册它们。
我有一个带有2个文本框的.NET用户控件(国家代码+电话)。使用.NET CustomValidator验证文本框。我有服务器端方法来处理控件,例如'Value'女巫给我一个带有cc + phone的独特字符串。
客户方怎么样? ......
我想在“javascript控件”中包含2个文本框和customvalidator。我很乐意创建与我的控件一起工作的函数作为一个独特的实体。 我想做的事情是:
var x = document.getElementById('myControlId'); //我的控件ID是环绕的 x.value(“+ 351875647356); //巫婆将分别填写两个文本框。
这可能吗?该怎么做?
感谢大家。
答案 0 :(得分:0)
通过创建一个javascript对象ala a c#/ vb.net 1class来代表你的控件,你可以做你想要的wnat。你的javascript实例会保留对各个元素的引用,你可以使用自定义方法来完成繁重的工作。
<script>
function MyUserControl (ccID, phoneID) {
// set references to elements
var _ccInput = document.getElementById(ccID);
var _phoneInput = document.getElementById(phoneID);
this.setValues = function (value) {
// TODO process your input here
// _ccInput.value = ... ;
// _phoneInput .value = ... ;
}
}
</script>
您可以通过从服务器端生成javascript来创建对象的新实例。
string script = string.format("var myControl = new MyUserControl('{0}','{1}');",
ccTextbox.ClientID, phoneTextbox.ClientID);
ClientScript.RegisterStartupScript(this.GetType(), "uniqueKeyName", script, true);
在客户端创建后,您可以从一些javascript中引用它。
<script>
myControl.setValues("+351875647356");
</script>