gpt4 book ai didi

javascript - Peter Blum 验证器未在 JQuery Steps 向导内触发

转载 作者:行者123 更新时间:2023-11-28 07:14:02 26 4
gpt4 key购买 nike

我正在使用 JQuery Steps 在 WebForms 项目中设置向导,并使用 Peter Blum 的 VAM 验证器来确保输入正确。以下是我的流程第一步的示例:

 <div id="wizard">
<h1>Step 1</h1>
<div id="stepToAccount">
<p class="sectionHeader">
<asp:Label id="DropdownLabel" runat="server"/>
</p>
<asp:DropDownList id="Dropdown" CssClass="indent50" runat="server"/>

<br/>
<vam:RequiredListValidator runat="server" ID="DropdownIsRequired" Group="StepOne" ControlIDToEvaluate="Dropdown" UnassignedIndex="0" ErrorMessageLookupID="DropdownRequired.Error" SummaryErrorMessageLookupID="DropdownRequired.Error"/>

</div>

所有这些在我用来指定向导的 div 之外都可以 100% 正常工作( <div id="wizard"> ),但在向导 div 内无法正常工作。单击下拉列表不会导致它立即按预期进行验证,并且如果我使用 window.DES_ValidateGroup("StepOne") 手动调用验证,它会正确返回该步骤有问题(步骤图 block 变为红色),但不会显示验证器附带的错误消息。

深入研究这是为什么,似乎<span> VAM 验证器发出的标签具有内联 visibility防止它们被隐藏的标签,然后 VAM 的 javascript 会在需要时删除并重新应用该标签(例如,当验证器失败时,然后当验证器再次成功时)。 visibility当向导 div 内验证失败时,标签不会被正确删除。

有谁知道为什么会出现这种情况,以及我该如何解决它?

编辑:作为引用,这是发出的代码:

 <div id="wizard">
<h1>Step 1</h1>
<div id="StepOne">
<p class="sectionHeader">
<span id="DropdownLabel">Which account would you like to pay to?</span>
</p>
<select name="Dropdown" id="SelectToAccountDropdown" class="indent50">
<option selected="selected" value="0">-- Option One -- </option>
<option value="1">Option Two</option>
</select>
<span class="indent50">
<span style='visibility:hidden' class='VAMErrorText' id='DropdownIsRequired'>
<span id='DropdownIsRequired_Txt'>Please select a thing.</span>
</span>
</span>
</div>

最佳答案

问题在于,JQuery Steps 在其渲染方法期间将事件监听器从 DOM 中剥离,这会禁用 Peter Blum 验证器完成其工作所依赖的监听器。请参阅Kaish的回答this question ;将 JQuery Steps render() 方法替换为他在那里使用的方法解决了我的问题。

关于javascript - Peter Blum 验证器未在 JQuery Steps 向导内触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31034875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com