This question already has answers here:
Closed 7 years ago.
Issue:
Issue is due to "ValidatorCalloutExtender" which fires even when the RequiredFieldValidator is disabled using javascript ValidatorEnable(val, enabled) Method.Possible Duplicate:
How not to trigger RequiredFieldValidator on hidden field (TextBox)请先参考此问题。
Remove empty space when visible property is set to false using JavaScript
在上述问题中,我的空白空间问题已解决,但另一个问题开始困扰我。
我将
.style.display = "block";
和.style.display = "none";
属性用于具有AjaxRequiredFieldValidator
的文本框。当样式为block
时,将显示文本框,当其为空时,将弹出RequiredFieldValidator
。直到不行,这还好。但是,当“文本框显示样式”设置为
"none"
时,RequiredFieldValidator
会在页面的左上角弹出,并且不允许回发。你能帮助我吗??
这是JavaScript代码
<script type="text/javascript"> function OtherProof(val) { // or use this both works //var ProofType = document.getElementById("ddl_IDProof"); //var SelectedProofType = ProofType.options[ProofType.selectedIndex].value; if (val == "0") { document.getElementById("lbl_OtherProof").style.display = "block"; document.getElementById("tb_OtherProof").style.display = "block"; } else { document.getElementById("lbl_OtherProof").style.display = "none"; document.getElementById("tb_OtherProof").style.display = "none"; } } </script>
这是aspx代码
//Dropdown list whoch on selected i make the textbox Display and Disappear <asp:DropDownList ID="ddl_IDProof" runat="server" onchange="OtherProof(this.options[this.selectedIndex].value);" Width="155px"> <asp:ListItem>Driving License</asp:ListItem> <asp:ListItem >Voter Card</asp:ListItem> <asp:ListItem>Pan Card</asp:ListItem> <asp:ListItem Value="0">Other Proof</asp:ListItem> </asp:DropDownList> //Here are the label and Textbox which i make Display and Disappear <td><asp:Label ID="lbl_OtherProof" runat="server" Text="Other Proof" Font-Size="13px" style="display:none"></asp:Label></td> <td></td> <td> <asp:TextBox ID="tb_OtherProof" runat="server" Width="150px" MaxLength="30" style="display:none"></asp:TextBox> <asp:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="tb_OtherProof" FilterType="UppercaseLetters,LowercaseLetters,Custom" ValidChars=" "></asp:FilteredTextBoxExtender> <asp:RequiredFieldValidator ID="Req_OtherProof" runat="server" ErrorMessage="Proof Name is Mandatory" ControlToValidate="tb_OtherProof" Display="None"></asp:RequiredFieldValidator> <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" Enabled="True" TargetControlID="Req_OtherProof" CssClass="customCalloutStyle"> </asp:ValidatorCalloutExtender></td>
参考方案
尝试使用ValidatorEnable(val,enable)
带有一个客户端验证器和一个布尔值。启用或禁用客户端验证器。禁用它会使其无法评估,并且始终显示为有效。
将Web用户控件添加到页面时,asp按钮onclick不会触发 - javascript<script type="text/javascript"> function disableValidation() { var val = document.getElementById('Req_OtherProof'); ValidatorEnable(val, false); if (document.getElementById("ValidatorCalloutExtender7_popupTable") != null) { document.getElementById("ValidatorCalloutExtender7_popupTable").style.display = "none"; } } function OtherProof(val) { // or use this both works //var ProofType = document.getElementById("ddl_IDProof"); //var SelectedProofType = ProofType.options[ProofType.selectedIndex].value; if (val == "0") { document.getElementById("lbl_OtherProof").style.display = "block"; document.getElementById("tb_OtherProof").style.display = "block"; } else { document.getElementById("lbl_OtherProof").style.display = "none"; document.getElementById("tb_OtherProof").style.display = "none"; disableValidation(); } } </script>
我正在使用使用Visual Studio模板创建的Web表单应用程序。模板具有一个内容占位符,该占位符被访问的任何页面的内容替换。有问题的页面有几个服务器控件,例如文本框,标签和按钮。当我单击我的更新按钮时,它可以正常工作,这些值会回传并更新数据库。我想在所有子页面上创建通用的登录提示。我的导航栏(位于我的母版页中)具有引导程序设置。我在导航栏中添加了一个下…
Asp.net发送信息表单到页面 - c#我正在尝试使用弹出窗口中的新信息更新旧页面。到目前为止,我尝试过将结果保存在会话中Session["Data"] = DLvrijecampingplaatsen.SelectedItem; 然后当它达到Page_Load时,将其重新加载回旧页面if (Session["Data"] != null) { LBkies…
与Mootools Scriptmanager Ajax Asp.net发生冲突? - c#我正在尝试不同的方法来使这项工作成功,但是没有成功。我正在尝试将mootools与asp.net应用程序集成。我只想用它为我的网站添加一些效果。我也使用更新面板,scriptmanager,因为不希望有完整的回发。在控制台上引发错误TypeError:clientID.startsWith不是函数,并且在进行更新时brwoser reset...。这是整个代…
Div单击与单选按钮相同吗? - php有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date…
使用Java脚本基于另一个控件项来验证ASP.NET C#控件 - c#我正在尝试确保一个下拉框或另一个下拉框具有选定的条目,不能两者都选,并且不能都留空/未选择。每次单击运行javascript验证代码的搜索按钮时,即使我只是从一个下拉列表中选择,甚至从两个下拉列表中都没有选择,我都会收到一条消息,好像在两个下拉框中都选择了一样!这可能是我的逻辑,但是,我认为也可能是我的变量读为null。是否有人对问题可能是什么以及如何解决这…