当前位置: 首页 > 知识库问答 >
问题:

提交表单angularjs后,将所有标签的文本颜色更改为红色,并为所有无效字段显示红色边框

葛驰
2023-03-14

我有一个表单,它有两个文本区域和引导用户界面星级,以及它们的标签文本。我已将所有文本区域和星级设置为必填字段。

当我点击提交按钮时,我想将文本区域()/星级()的所有标签文本更改为红色字体,并在所有无效字段的文本区域周围设置红色边框。下面是我的代码,这是不工作。

我希望以下情况发生时,我点击保存按钮没有输入任何东西。你能告诉我如何实现这三项吗?

  1. 将无效文本区域周围的边框更改为红色

提前感谢您的帮助。

这里是html:

        <div class="row">
            <div class="col-lg-7 col-md-12">
                <form name="addReviewForm" class="addReview-form" role="addReviewForm" ng-class="{submitted:addReviewForm.submitted}">
                    <div class="form-group">
                        <label for="reviewTitle">Review Title:</label>
                        <br />
                        <textarea ng-model="review.title" id="reviewTitle" class="form-control" name="reviewTitle" rows="3" placeholder="Write your review title here" required></textarea>
                    </div>

                    <div class="form-group">
                        <label>Review:</label>
                        <textarea ng-model="review.comments" class="form-control" name="comments" rows="3" placeholder="Write your review here" required></textarea>
                    </div>
                </form>
            </div>
            <div class="col-lg-5 col-md-12">
                <dl class="dl-horizontal">
                    <dt>On time deliver:</dt>
                    <dd>
                        <rating value="review.Time" max="max" readonly="false" rating-states="ratingStates" name="onTime" required></rating>
                    </dd>
                    <dt>Customer service:</dt>
                    <dd>
                        <rating value="review.CustomerService" max="max" readonly="false" rating-states="ratingStates" name="customerService" required></rating>
                    </dd>
            </div>
        </div>

以下是单击“保存”按钮时调用的函数:

$scope.addReview = function (review) {
    if ($scope.addReviewForm.$valid) {
        //submit as normal

    }
    else {
        $scope.addReviewForm.submitted = true;
    }
}

这是我的css:

addReviewForm.submitted .ng-dirty.ng-invalid{ 
    border: 1px solid red; 
} 
addReviewForm.submitted .ng-dirty.ng-valid{
     border: 1px solid green; 

}

共有1个答案

仇征
2023-03-14

这里是一个小提琴与下列工作,正如你所描述的

提交按钮:(这将设置提交为真)

<button type="submit" ng-click="submitted=true">Submit Button</button>

超文本标记语言:(使用ng类确定字段是否脏且有效)

<div ng-app class="row" ng-init="review = {title: 'abc'}">
    <div class="col-lg-7 col-md-12">
        <form name="addReviewForm" class="addReview-form" role="addReviewForm" ng-class="{submitted:submitted}">
            <div class="form-group" ng-class="{'show-valid': (addReviewForm.reviewTitle.$valid && addReviewForm.reviewTitle.$dirty), 'show-invalid': (addReviewForm.reviewTitle.$invalid && addReviewForm.reviewTitle.$dirty)}">
                <label for="reviewTitle">Review Title:</label>
                <br />
                <textarea ng-model="review.title" id="reviewTitle" class="form-control" name="reviewTitle" rows="3" placeholder="Write your review title here" required></textarea>
            </div>
            <button type="submit" ng-click="submitted=true">Submit Button</button>
        </form>
    </div>
</div>

CSS:(控制显示内容的样式)

.submitted .show-invalid textarea, .submitted .show-invalid input, .submitted .show-invalid select {
    border: 1px solid red;
}
.submitted .show-valid textarea, .submitted .show-valid input, .submitted .show-valid select {
    border: 1px solid green;
}
 类似资料:
  • 我有一个表单,其中有一些输入字段。其中一些是必填字段,一些是电子邮件字段。 我使用HTML5必需属性的必需字段和type="email"属性的电子邮件字段。 我的问题是在点击提交按钮后,我必须为所有无效字段显示红色边框。 这是我的表格: 还有我的保存功能。 现在,当我点击保存按钮而不填写任何内容时,所有的错误(跨度)都会显示出来。但是我想显示所有无效字段的红色边框。 我审理了下列案件: 但是当用户

  • 我遇到过这个奇怪的问题,在开始时,字段的颜色更改为,就像在出现时一样。而且,这种情况并不是每次都发生,只是在某些情况下才会出现。如何修复此bug?任何帮助都很感激。请参阅图片更多。这是代码 以下是样式:

  • 我已经使用AngularJS和Bootstrap实现了这个基本表单:http://jsfiddle.net/dennismadsen/0stwd03k/ HTML JavaScript 结果 名称输入字段是必需的。当我单击submit按钮时,如果输入字段无效,我需要它有一个红色边框。如何做到这一点? 或者,如果我取消了输入字段的焦点,但它仍然无效,那么在那个时候显示红色记号笔将是非常好的,而不是等

  • 我可以使用以下代码将颜色的轮廓颜色更改为纯色: 但是,我无法将其颜色更改为渐变,因为它只接受颜色作为输入。如何将其下划线颜色更改为颤振中的线性渐变?

  • 有没有一种方法可以轻松地将给定的十六进制颜色代码分配给更一般的类别(红色、绿色、蓝色、黄色、橙色、粉色、黑色、白色、灰色...)? 比如- 编辑:甚至与adobe photoshop类似,找到最接近的网络安全颜色,这样可以将颜色数量减少到256种,这已经是一个很好的解决方案了!

  • 由于某些原因,图标不会变为红色。它保持白色/灰色。 有人知道如何把颜色变成红色吗? 还有很多其他问题没有提到我正在使用的“CSS伪元素”类型。