我有个服务器控件<asp:TextBox ID="TextBox1" runat="server" Height="16px" Width="284px" ></asp:TextBox>并且还另外绑定了AutoCompleteExtender,我现在希望当用户在输入“上班”两字以后,文本框会自动清空文本框,请问如何实现?貌似js不支持服务器控件?

解决方案 »

  1.   

    验证控件的话不是要通过一个button按钮激活验证控件以后才能执行操作吗?我想当输入以后离开文本框以后就清空
      

  2.   

    那么只能在客户端写javascript了啊,发一段给你参考一下吧,不是我写的,很久很久以前收藏的,不过也不复杂:<script>
    function regInput(obj, reg, inputStr)
    {
    var docSel = document.selection.createRange()
    if (docSel.parentElement().tagName != "INPUT") return false
    oSel = docSel.duplicate()
    oSel.text = ""
    var srcRange = obj.createTextRange()
    oSel.setEndPoint("StartToStart", srcRange)
    var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
    return reg.test(str)
    }
    </script>小写英文:<xmp style= "display:inline"> </xmp>
    <input onkeypress = "return regInput(this, /^[a-z]*$/, String.fromCharCode(event.keyCode))"
    onpaste = "return regInput(this, /^[a-z]*$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^[a-z]*$/, event.dataTransfer.getData('Text'))"
    style="ime-mode:Disabled"
    ><br>大写英文:<xmp style= "display:inline"> </xmp>
    <input onkeypress = "return regInput(this, /^[A-Z]*$/, String.fromCharCode(event.keyCode))"
    onpaste = "return regInput(this, /^[A-Z]*$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^[A-Z]*$/, event.dataTransfer.getData('Text'))"
    style="ime-mode:Disabled">
    <br>任意数字:<xmp style="display:inline"> </xmp>
    <input onkeypress = "return regInput(this, /^[0-9]*$/, String.fromCharCode(event.keyCode))"
    onpaste = "return regInput(this, /^[0-9]*$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^[0-9]*$/, event.dataTransfer.getData('Text'))"
    style="ime-mode:Disabled"
    ><br>限2位小数:<xmp style="display:inline"> </xmp>
    <input onkeypress = "return regInput(this, /^\d*\.?\d{0,2}$/, String.fromCharCode(event.keyCode))"
    onpaste = "return regInput(this, /^\d*\.?\d{0,2}$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^\d*\.?\d{0,2}$/, event.dataTransfer.getData('Text'))"
    style="ime-mode:Disabled"
    > 如: 123.12<br>
    日   期:<xmp style="display:inline"> </xmp>
    <input onkeypress = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/, String.fromCharCode(event.keyCode))"
    onpaste = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/, event.dataTransfer.getData('Text'))"
    style="ime-mode:Disabled"
    > 如: 2002-9-29<br>任意中文:<xmp style="display:inline"> </xmp>
    <input onkeypress = "return regInput(this, /^$/, String.fromCharCode(event.keyCode))"
    onpaste = "return regInput(this, /^[\u4E00-\u9FA5]*$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^[\u4E00-\u9FA5]*$/, event.dataTransfer.getData('Text'))"
    ><br>部分英文:<xmp style="display:inline"> </xmp>
    <input onkeypress = "return regInput(this, /^[a-e]*$/, String.fromCharCode(event.keyCode))"
    onpaste = "return regInput(this, /^[a-e]*$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^[a-e]*$/, event.dataTransfer.getData('Text'))"
    style="ime-mode:Disabled"
    > 范围: a,b,c,d,e<br>部分中文:<xmp style="display:inline"> </xmp><script language=javascript>
    function checkChinese(oldLength, obj)
    {
    var oTR = window.document.selection.createRange()
    var reg = /[^一二三四五六七八九十]/g
    oTR.moveStart("character", -1*(obj.value.length-oldLength))
    oTR.text = oTR.text.replace(reg, "")
    }
    </script>
    <input onkeypress="return false" onkeydown="setTimeout('checkChinese('+this.value.length+','+this.uniqueID+')', 1)"
    onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, window.clipboardData.getData('Text'))"
    ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/, event.dataTransfer.getData('Text'))"
    > 范围: 一二三四五六七八九十<br>