首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在jQuery函数中获取asp文本框的id

如何在jQuery函数中获取asp文本框的id
EN

Stack Overflow用户
提问于 2012-11-19 15:34:21
回答 2查看 690关注 0票数 0

如何在被调用的函数中获取当前asp文本框的id?

代码语言:javascript
复制
<script type="text/javascript">

    $(document).ready(function () {
        $("#<%=txtNumeric.ClientID %>").focusout(function () {
            var textvalue = $("#<%=txtNumeric.ClientID %>").val();
            if (!validateDecimal(textvalue))
                return false;
            else {
                $(this).removeClass("focus");
                return true;
            }
        });
    });

    function validateDecimal(value) {
        var RE = new RegExp(/^\d\d*\.\d\d$/);
        if (RE.test(value)) {
            return true;
        } else {
            alert("Please Enter in XX.XX format !");
            $(this).addClass("focus");// this keyword is not working here !!
            $(this).focus(); // this keyword is not working here !!
            return false;
        }
    }
</script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-19 15:38:07

在函数中传递控制对象也是这样的

代码语言:javascript
复制
$(document).ready(function () {
        $("#<%=txtNumeric.ClientID %>").focusout(function () {
            var textvalue = $("#<%=txtNumeric.ClientID %>").val();
            if (!validateDecimal(textvalue,this))
                return false;
            else {
                $(this).removeClass("focus");
                return true;
            }
        });

    });

    function validateDecimal(value,ControlObject) {
            var RE = new RegExp(/^\d\d*\.\d\d$/);
            if (RE.test(value)) {
                return true;
            } else {
                alert("Please Enter in XX.XX format !");
                $(ControlObject).addClass("focus");// this keyword is not working here !!
                $(ControlObject).focus(); // this keyword is not working here !!
                return false;
            }
        }
票数 0
EN

Stack Overflow用户

发布于 2012-11-19 15:41:01

为什么不将其作为参数传递给validateDecimal,例如-

代码语言:javascript
复制
function validateDecimal(value, textbox) {
    var RE = new RegExp(/^\d\d*\.\d\d$/);
    if (RE.test(value)) {
        return true;
    } else {
        alert("Please Enter in XX.XX format !");
        textbox.addClass("focus");
        textbox.focus();
        return false;
    }
}

话虽如此,我不认为validateDecimal应该有任何逻辑来改变textbox。原因是每个函数应该只做一件事,validateDecimal应该只做验证并返回true/false。更改textbox类/etc的逻辑应该在validateDecimal之外的另一个函数中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13449430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档