onblur事件没有从Html.TextBoxFor帮助中触发

时间:2013-09-04 20:31:48

标签: javascript jquery asp.net-mvc-3

我已经按照一个示例调用了一些来自TextBoxFor帮助程序的javascript代码,如下所示:

<%=Html.TextBoxFor(c => Model.Birthdate, new { @class = "datepicker", maxlength = 10, @onblur = "chkBirthday" })%>

我的javascript,在asp:Content标题中如下所示:

<script type="text/javascript">
$(document).on("blur", "select[name=MainContent_Birthdate]",
    function chkBirthday() {

        document.getElementById("MainContent_ErrorMessage").visibility = 'visible';
        document.getElementById("MainContent_ErrorMessage").innerHTML = 'Testing';

    });

当我退出帮助程序时,我已经尝试了几个选项来取回一些东西,包括在我的函数中添加警报(“测试”),删除行$(文档),给出元素全名(MainContent前缀)但没有任何作用。

我正在使用Chrome及其开发工具,并且可以看到帮助程序生成的元素名称是正确的。我不知道出了什么问题。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

您的选择器无效。你应该使用input[name=MainContent_Birthdate]

答案 1 :(得分:0)

元素不是TextBox吗?您正在使用下拉列表的选择器(选择)。试试这个:

$(document).on("blur", "input[name=MainContent_Birthdate]"
                         ^^^

看看是否有效。

http://jsfiddle.net/hescano/pwWaD/