0

我想使用 jquery 来选择所需的关联元素的父级并更改 css 类。

我需要为必填字段的跨度的父 div 添加一个 css 类“错误”。(这将根据我的 css 为文本框着色)。

我有以下最初由我的 aspx 页面生成的 html 标记:

<div class="control-group">
  <label>Your name</label>
  <input name="ctl00$MainContent$txtName" type="text" maxlength="100" id="MainContent_txtName">
  <span data-val-controltovalidate="MainContent_txtName" data-val-errormessage="Your name is required" data-val-display="Dynamic" id="MainContent_txtNameRequired" class="error" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="" style="display:none;">This field is required</span>
</div>

在“客户端验证”之后,跨度更改为:

<span data-val-controltovalidate="MainContent_txtName" data-val-errormessage="Your name is required" data-val-display="Dynamic" id="MainContent_txtNameRequired" class="error" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="" style="display: inline;">This field is required</span>

在服务器回发之后,跨度实际上是:

<span data-val-controltovalidate="MainContent_txtName" data-val-errormessage="Your name is required" data-val-display="Dynamic" data-val-isvalid="False" id="MainContent_txtNameRequired" class="error" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val-initialvalue="">This field is required</span>

我想使用一个 javascript 函数,它不需要在每个将使用它的按钮上都有 onclick 函数。我想在许多页面上重用相同的功能。

4

1 回答 1

0

虽然我找不到专门基于跨度和数据元素如何执行此操作的答案,但一个小时左右后,我发现了另一个帮助我提出此解决方案的问题:

<script type="text/javascript">
    $(document).ready(function () {
        $("form").submit(function () {
            if (typeof Page_Validators != 'undefined') {
                var errors = '';
                $.each(Page_Validators, function () {
                    if (!this.isvalid) {
                        $(this).parent().addClass("error");
                    }
                });
            }
        });
    });
</script>

链接:asp net客户端验证的验证事件

于 2013-05-02T19:47:09.557 回答