Ich habe nach Möglichkeiten gesucht, wie jQuery mithilfe der HTML5-Validierung automatisch in alle meine Eingabefelder schreiben kann, aber ich habe Probleme, anzugeben, wo es geschrieben werden soll.
Ich möchte das nehmen
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150">
und haben es automatisch add erforderlich vor dem letzten Tag
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150" required>
Ich dachte, ich könnte etwas in der Art von tun
$("input").attr("required", "true");
Aber es funktioniert nicht. Jede Hilfe wird sehr geschätzt.
javascript
jquery
validation
Miura-shi
quelle
quelle
$(function(){....});
Antworten:
DEMO FIDDLE
quelle
TypeError: element.prop is not a function
Fehler bekommen<form></form>
Tags in Ihrem jsFiddle.prop('required',true)
am Eingang vor dem Aufruf.css("display", "block")
auf sich.Sie können dies mit attr tun. Der Fehler, den Sie gemacht haben, ist, dass Sie die wahren Anführungszeichen setzen. Versuchen Sie stattdessen Folgendes:
quelle
required
ist ein boolesches Attribut und sollte immer nur weggelassen werden (für "false") oder denselben Wert wie sein Name (dh"required"
) für "true" haben. Es ist eigentlich besser zu benutzen.prop()
.prop()
funktioniert dies dort nicht wie in modernen Browsern. Immer noch am besten zu verwenden$(ele).attr("required", true)
undfalse
zu entfernen.Ich habe festgestellt, dass die folgenden Implementierungen effektiv sind:
Diese Befehle (attr, removeAttr, prop) verhalten sich je nach verwendeter Version von JQuery unterschiedlich. Bitte beziehen Sie sich auf die Dokumentation hier: https://api.jquery.com/attr/
quelle
Mit
.attr
MethodeVerwenden von
.prop
Lesen Sie hier mehr
quelle
Ich habe festgestellt, dass jquery 1.11.1 dies nicht zuverlässig macht.
Ich habe
$('#estimate').attr('required', true)
und benutzt$('#estimate').removeAttr('required')
.Das Entfernen
required
war nicht zuverlässig. Manchmal blieb dasrequired
Attribut ohne Wert. Darequired
es sich um ein boolesches Attibut handelt, wird seine bloße Präsenz ohne Wert vom Browser als angesehentrue
.Dieser Fehler trat nur sporadisch auf, und ich hatte es satt, mich damit zu beschäftigen. Umgeschaltet auf
document.getElementById("estimate").required = true
unddocument.getElementById("estimate").required = false
.quelle
removeAttr
funktioniert bei mir nicht Dann benutze ich deine Lösung und funktioniert gut. Vielen Dank!Sollte true nicht mit einem doppelten Anführungszeichen "" einschließen , sollte es so sein
Sie können auch Stütze verwenden
Anstelle von true können Sie es bei Bedarf versuchen. Sowie
quelle