如何使用JavaScript在asp.net中基于另一个文本框的文本框上进行验证?

时间:2015-02-12 14:36:52

标签: javascript c# jquery asp.net

我的asp.net应用程序中有两个文本框。如果用户使用JavaScript在txtName中输入内容,我想使txtContact成为必填字段。

这是我的代码,

<asp:TextBox ID="txtName" runat="server" CssClass="selectstyle" onkeypress="javascript:AvoidEnter();" MaxLength="10" ValidationGroup="CreateUser" />
<asp:TextBox ID="txtContact" runat="server" CssClass="selectstyle" onkeypress="javascript:AvoidEnter();" MaxLength="20" />
<asp:RequiredFieldValidator ErrorMessage="Please enter contact info" ClientIDMode="Static" ID="rfvContact" Enabled="false" ValidationGroup="CreateUser" ControlToValidate="txtContact" runat="server" />


<script type="text/javascript">
    $(function () {
        $('#<%= txtName.ClientID %>').blur(function () {
            if ($.trim($('#<%= txtName.ClientID %>').val()) != '') {
                //enable container number validator
                ValidatorEnable(document.getElementById('<%=rfvContact.ClientID%>'), true);
            }
            else {
                //disable container number validator
                ValidatorEnable(document.getElementById('<%=rfvContact.ClientID%>'), false);
            }
        });

    });
</script>

上述脚本的问题是,它在Chrome浏览器中工作得很好,但验证在IE 11中无效。

还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

从我的测试中,我也没有使用&#34; onkeypress&#34;对于我的代码...但是,我只是用另一个来替换这个函数。 首先,创建新功能:

$(document).ready(function () {
    $('#txtContact').change(keypressfunction);  });

然后,创建功能&#34;按键功能&#34;:

function keypressfunction()
{
    var txtMessage = document.getElementById("txtName").value;
    if (txtMessage == '') {
        var contactField = $("#txtContact").val();
        if (contactField != '') {
            $('#txtName').val(contactField);
        } 
    }
}

这与我的代码不同,我只是添加了substr来获取字符。您可以尝试测试此代码并进行修复。