我的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中无效。
还有其他选择吗?
答案 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来获取字符。您可以尝试测试此代码并进行修复。