Soy un cliente de un SaaS en el que puedo personalizar el código con JS.
Con esta función personalizada de JS, intento ampliar esta página de formulario validando los datos escritos.
Descubrí que jQuery está disponible y parece que usan Angular, por lo que estoy luchando porque solo conozco JS.
¿Puedo obtener el valor de entrada, en el caso de Andrew, del campo de formulario 'Nombre'?
Este es el fragmento HTML
<div class="form-group ng-scope" id="" ng-if="[true, undefined].includes(entitiesDataVisibility["c1b99979-6b13-51a3-9c0e-ccb878e76655"])"> <label for="field_56657680-c963-45b1-838c-9894dcdb09d0">First Name<span class="required">*</span> </label> <input id="field_56657680-c963-45b1-838c-9894dcdb09d0" ng-model="entitiesData["c1b99979-6b13-51a3-9c0e-ccb878e76655"]" class="form-control ng-valid ng-not-empty ng-dirty ng-valid-parse ng-touched" type="text" name="6da5a22b-8d81-4f76-9e9b-0441e5d48a39"> </div>Si trato de consultar, seleccione la entrada por nombre (la identificación es dinámica por alguna razón) con
console.log($("[name='6da5a22b-8d81-4f76-9e9b-0441e5d48a39']"));entonces obtengo:
Pido disculpas si es demasiado básico :(
asumiendo que la identificación no cambia entonces
console.log($("#field_56657680-c963-45b1-838c-9894dcdb09d0").val())eso debería obtener el valor para usted
pero si después de la validación, angular tiene una validación incorporada que sería más adecuada que jquery, considere usar algo así
import { FormControl, FormGroup, Validators } from '@angular/forms'; ... searchform = new FormGroup({ search: new FormControl('', [Validators.required, Validators.minLength(3)]), }); get searchControls() { return this.searchform.controls; } .... <form class="form-inline" [formGroup]="searchform"> <input type="search" class="form-control" placeholder="Enter some data" name="search" id="search" formControlName="search" required #search /> <div *ngIf="searchControls['search'].touched && searchControls['search'].invalid" class="alert alert-danger"> <div *ngIf="searchControls['search'].errors && searchControls['search'].errors['required']"> Name is required. </div> <div *ngIf="searchControls['search'].errors && searchControls['search'].errors['minlength']"> Name should be 3 character. </div> </div>espero que esto ayude
Suponiendo lo siguiente:
Puede obtener el valor mediante $('.form-group label:contains(First Name)').next().val()
Entonces, el código anterior encontrará el elemento de etiqueta que contiene el elemento de etiqueta Nombre y selecciona el elemento hermano debajo de él, es decir, Elemento de entrada
¡Espero que ayude!