it-swarm.com.de

Ein ungültiges Formularsteuerelement mit name = '' kann nicht fokussiert werden

Ich habe ein akutes Problem auf meiner Website ... In Google Chrome können einige Kunden nicht auf meine Zahlungsseite weitergeleitet werden. Beim Versuch, ein Formular zu senden, wird folgende Fehlermeldung angezeigt:

An invalid form control with name='' is not focusable.

Dies ist von der JavaScript-Konsole.

Ich habe gelesen, dass das Problem möglicherweise auf versteckte Felder mit dem erforderlichen Attribut ... zurückzuführen ist .. Jetzt besteht das Problem darin, dass wir .net webforms erforderliche Feldprüfer verwenden und nicht das erforderliche html5-Attribut.

Es scheint zufällig, wer diesen Fehler erhält ... Gibt es jemanden, der eine Lösung für dieses Problem kennt?

526
mp1990

Es ist nicht genug zu sagen

Das Hinzufügen eines novalidate-Attributs zum Formular hilft dabei

Es erklärt das Problem nicht und das OP hat möglicherweise nicht verstanden, warum es helfen würde oder ob es wirklich hilfreich ist.

Hier ist eine Antwort, die den Fall wirklich erklärt. Wenn Sie das Problem verstehen, sollten Sie eine für Ihre Entwicklung geeignete Lösung finden:

Chrome möchte sich auf ein Steuerelement konzentrieren, das erforderlich ist, aber noch leer ist, damit die Meldung "Bitte dieses Feld ausfüllen" angezeigt wird. Wenn das Steuerelement jedoch an dem Punkt ausgeblendet ist, an dem Chrome die Nachricht anzeigen soll, dh zum Zeitpunkt der Formularübermittlung, kann Chrome sich nicht auf das Steuerelement konzentrieren, da es ausgeblendet ist. Daher wird das Formular nicht übermittelt.

Um das Problem zu umgehen, müssen wir, wenn ein Steuerelement durch Javascript ausgeblendet wird, auch das erforderliche Attribut aus diesem Steuerelement entfernen.

Beachten Sie Folgendes, um die Warnung sinnvoll einzusetzen: Ein Feld nicht ausblenden, wenn die Überprüfung fehlschlägt. Dies ist jedoch keine strikte Regel oder überhaupt keine Regel. Wie ich in meinem Kommentar unten erwähnt habe, umschreibe ich

In einigen Fällen ist das Problem überhaupt kein Problem und führt zu keinem Funktionsverlust in einer Anwendung. Dann kann der Fehler ignoriert werden.

UPDATE: 21. August 2015

Der fragliche Fehler kann auch aufgrund einer vorzeitigen Validierung entstehen. Eine vorzeitige Validierung kann auftreten, wenn Sie eine <button>-Eingabe ohne ein gesetztes type -Attribut haben. Wenn das type-Attribut einer Schaltfläche nicht auf die Schaltfläche gesetzt ist, führt Chrome (oder jeder andere Browser) jedes Mal eine Überprüfung durch, wenn auf die Schaltfläche geklickt wird, da submit der Standardtyp der Schaltflächen ist. Wenn Sie eine Schaltfläche auf Ihrer Seite haben, die etwas anderes als submit oder reset ausführt, denken Sie immer an Folgendes: <button type="button">

640
Igwe Kalu

Das Hinzufügen eines novalidate-Attributs zum Formular hilft dabei:

<form name="myform" novalidate>
327
user2909164

In Ihrer form haben Sie möglicherweise input mit dem Attribut required ausgeblendet:

  • <input type="hidden" required />
  • <input type="file" required style="display: none;"/>

Die form kann sich nicht auf diese Elemente konzentrieren. Sie müssen required aus allen verborgenen Eingaben entfernen oder eine Validierungsfunktion in Javascript implementieren, um sie zu verarbeiten, wenn Sie wirklich eine verborgene Eingabe benötigen.

213
Ankit Sharma

Falls jemand anderes dieses Problem hat, habe ich dasselbe erlebt. Wie in den Kommentaren erörtert, lag es daran, dass der Browser verborgene Felder überprüfte. Es fand leere Felder im Formular und versuchte, sich auf sie zu konzentrieren. Da sie jedoch auf display:none; gesetzt waren, konnte dies nicht. Daher der Fehler.

Ich konnte es lösen, indem ich etwas ähnliches wie dieses verwendete:

$("body").on("submit", ".myForm", function(evt) {

    // Disable things that we don't want to validate.
    $(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", true);

    // If HTML5 Validation is available let it run. Otherwise prevent default.
    if (this.el.checkValidity && !this.el.checkValidity()) {
        // Re-enable things that we previously disabled.
        $(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", false);
        return true;
    }
    evt.preventDefault();

    // Re-enable things that we previously disabled.
    $(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", false);

    // Whatever other form processing stuff goes here.
});

Möglicherweise ist dies auch ein Duplikat von "Invalid Form Control" nur in Google Chrome

25

In meinem Fall bestand das Problem darin, dass der input type="radio" required verborgen wurde mit:

visibility: hidden;

Diese Fehlermeldung wird auch angezeigt, wenn der erforderliche Eingabetyp radio oder checkbox eine CSS-Eigenschaft display: none; besitzt. 

Wenn Sie benutzerdefinierte RadioCheckbox-Eingänge erstellen möchten, bei denen sie für die Benutzeroberfläche ausgeblendet werden müssen -/und das Attribut required beibehalten, sollten Sie stattdessen Folgendes verwenden: 

opacity: 0; CSS-Eigenschaft

14
Gus

Keine der vorherigen Antworten funktionierte für mich und ich habe keine ausgeblendeten Felder mit dem Attribut required.

In meinem Fall wurde das Problem dadurch verursacht, dass ein <form> und dann ein <fieldset> als erstes Kind vorhanden war, das das <input> mit dem Attribut required enthält. Durch das Entfernen des <fieldset> wurde das Problem behoben. Oder Sie können Ihr Formular damit einwickeln; Es ist in HTML5 erlaubt.

Ich bin unter Windows 7 x64, Chrome-Version 43.0.2357.130 m.

12
Pere

Für mich passiert dies, wenn es ein <select>-Feld mit vorgewählter Option mit dem Wert '' gibt:

<select name="foo" required="required">
    <option value="" selected="selected">Select something</option>
    <option value="bar">Bar</option>
    <option value="baz">Baz</option>
</select>

Leider ist dies die einzige Cross-Browser-Lösung für einen Platzhalter ( Wie erstelle ich einen Platzhalter für eine Auswahlbox? ).

Das Problem tritt in Chrome 43.0.2357.124 auf. 

7
piotr_cz

Es kann sein, dass Sie Felder mit dem Attribut required ausgeblendet haben (Anzeige: keine).

Bitte überprüfen Sie, ob alle erforderlichen Felder für den Benutzer sichtbar sind :)

7
ghuroo

Wenn Sie ein Feld mit dem erforderlichen Attribut haben, das während der Formularübermittlung nicht sichtbar ist, wird dieser Fehler ausgegeben. Sie entfernen nur das erforderliche Attribut, wenn Sie versuchen, dieses Feld auszublenden. Sie können das erforderliche Attribut hinzufügen, falls Sie das Feld erneut anzeigen möchten. Auf diese Weise wird Ihre Validierung nicht gefährdet und gleichzeitig wird der Fehler nicht ausgegeben. 

7
maniempire

Für Select2 Jquery Problem  

Das Problem liegt daran, dass die HTML5-Überprüfung ein verstecktes ungültiges Element nicht fokussieren kann. Ich bin auf dieses Problem gestoßen, als ich mit jQuery Select2 Plugin zu tun hatte. 

Lösung Sie können für jedes Element eines Formulars einen Ereignis-Listener und ein "invalid" -Ereignis einfügen, sodass Sie unmittelbar vor dem HTML5-Validierungsereignis manipulieren können.

$('form select').each(function(i){
this.addEventListener('invalid', function(e){            
        var _s2Id = 's2id_'+e.target.id; //s2 autosuggest html ul li element id
        var _posS2 = $('#'+_s2Id).position();
        //get the current position of respective select2
        $('#'+_s2Id+' ul').addClass('_invalid'); //add this class with border:1px solid red;
        //this will reposition the hidden select2 just behind the actual select2 autosuggest field with z-index = -1
        $('#'+e.target.id).attr('style','display:block !important;position:absolute;z-index:-1;top:'+(_posS2.top-$('#'+_s2Id).outerHeight()-24)+'px;left:'+(_posS2.left-($('#'+_s2Id).width()/2))+'px;');
        /*
        //Adjust the left and top position accordingly 
        */
        //remove invalid class after 3 seconds
        setTimeout(function(){
            $('#'+_s2Id+' ul').removeClass('_invalid');
        },3000);            
        return true;
}, false);          
});
6
SudarP

Eine weitere Möglichkeit, wenn Sie den Fehler bei der Eingabe eines Kontrollkästchens erhalten. Wenn Ihre Kontrollkästchen benutzerdefiniertes CSS verwenden, das den Standard verbirgt und durch ein anderes Styling ersetzt, wird auch der nicht fokussierbare Fehler bei der Überprüfung in Chrome ausgelöst.

Ich habe das in meinem Stylesheet gefunden:

input[type="checkbox"] {
    visibility: hidden;
}

Einfache Lösung bestand darin, es durch Folgendes zu ersetzen:

input[type="checkbox"] {
    opacity: 0;
}
5
Sam

Eine andere mögliche Ursache, die nicht in allen vorherigen Antworten enthalten ist, wenn Sie ein normales Formular mit erforderlichen Feldern haben und das Formular absenden, dann direkt nach der Übermittlung (mit Javascript) ausblenden, sodass keine Gültigkeitsdauer für die Validierungsfunktion besteht.

Die Überprüfungsfunktion versucht, sich auf das erforderliche Feld zu konzentrieren und die Fehlerüberprüfungsnachricht anzuzeigen. Das Feld wurde jedoch bereits ausgeblendet. "Ein ungültiges Formularsteuerelement mit name = '' kann nicht fokussiert werden." erscheint!

Bearbeiten:

Um diesen Fall zu behandeln, fügen Sie einfach die folgende Bedingung in Ihrem Übergabehandler hinzu

submitHandler() {
    const form = document.body.querySelector('#formId');

    // Fix issue with html5 validation
    if (form.checkValidity && !form.checkValidity()) {
      return;
    }

    // Submit and hide form safely
  }

Bearbeiten: Erklärung

Angenommen, Sie verstecken das Formular bei der Übermittlung. Dieser Code garantiert, dass das Formular/die Felder nicht ausgeblendet werden, bis das Formular gültig wird. Wenn ein Feld nicht gültig ist, kann sich der Browser ohne Probleme darauf konzentrieren, da dieses Feld weiterhin angezeigt wird.

3
Mouneer

Ja .. Wenn ein verstecktes Formularsteuerelement ein erforderliches Feld hat, wird dieser Fehler angezeigt. Eine Lösung wäre, diese Formularsteuerung zu deaktivieren . Dies liegt daran, dass normalerweise ein Formularsteuerelement ausgeblendet wird, weil Sie sich nicht mit dessen Wert beschäftigen. Das Wertepaar des Formularsteuerungsnamens wird also nicht gesendet, wenn das Formular gesendet wird.

3
Kartik Shenoy

Es gibt Dinge, die mich immer noch überraschen ... Ich habe eine Form mit dynamischem Verhalten für zwei verschiedene Entitäten. Eine Entität benötigt einige Felder, die die anderen nicht . Mein JS-Code führt also je nach Entität Folgendes aus: $ ('# Periodo'). RemoveAttr ('required'); $ ("# periodo-container"). hide ();

und wenn der Benutzer die andere Entität auswählt: $ ("# periodo-container"). show (); $ ('# periodo'). prop ('required', true);

Wenn das Formular jedoch gesendet wird, erscheint das Problem manchmal: "Ein ungültiges Formularsteuerelement mit name = periodo '' kann nicht fokussiert werden (ich verwende denselben Wert für die ID und den Namen).

Um dieses Problem zu beheben, müssen Sie sicherstellen, dass die Eingabe, bei der Sie 'required' setzen oder entfernen, immer sichtbar ist.

Was ich getan habe ist also:

$("#periodo-container").show(); //for making sure it is visible
$('#periodo').removeAttr('required'); 
$("#periodo-container").hide(); //then hide

Das hat mein Problem gelöst ... unglaublich.

2
Gustavo Soler

Für den Winkelgebrauch: 

ng-required = "boolean" 

Dadurch wird das html5-Attribut 'required' nur angewendet, wenn der Wert true ist. 

<input ng-model="myCtrl.item" ng-required="myCtrl.items > 0" />
2
Nick Taras

Diese Nachricht wird angezeigt, wenn Sie folgenden Code haben:

<form>
  <div style="display: none;">
    <input name="test" type="text" required/>
  </div>

  <input type="submit"/>
</form>
2
Robert

Sie können .removeAttribute("required") für die Elemente versuchen, die zum Zeitpunkt des Fensterladens ausgeblendet sind. da es ziemlich wahrscheinlich ist, dass das betreffende Element aufgrund von Javascript (Tabbed Forms) ausgeblendet ist

z.B.

if(document.getElementById('hidden_field_choice_selector_parent_element'.value==true){
    document.getElementById('hidden_field').removeAttribute("required");        
}

Dies sollte die Aufgabe erledigen. 

Es hat für mich funktioniert ... Prost 

2
utkarshk

In meinem Fall..

ng-show wurde verwendet.
ng-if wurde an seine Stelle gesetzt und mein Fehler behoben.

2
Chareesa Graham

Es gibt viele Möglichkeiten, dies zu beheben

  1. Fügen Sie Ihrem Formular novalidate hinzu, aber es ist völlig falsch, da dadurch die Formularvalidierung entfernt wird, was zu falschen Informationen durch die Benutzer führt.

<form action="...." class="payment-details" method="post" novalidate>

  1. Verwendung kann das erforderliche Attribut aus den erforderlichen Feldern entfernen, was ebenfalls falsch ist, da die Formularvalidierung erneut entfernt wird.

    An Stelle von: 

<input class="form-control" id="id_line1" maxlength="255" name="line1" placeholder="First line of address" type="text" required="required">

   Use this:

<input class="form-control" id="id_line1" maxlength="255" name="line1" placeholder="First line of address" type="text">

  1. Mit können Sie die erforderlichen Felder deaktivieren, wenn Sie das Formular nicht senden möchten, anstatt eine andere Option zu verwenden. Dies ist meiner Meinung nach die empfohlene Lösung.

    mögen:

<input class="form-control" id="id_line1" maxlength="255" name="line1" placeholder="First line of address" type="text" disabled="disabled">

oder deaktivieren Sie es durch Javascript/Jquery-Code, der von Ihrem Szenario abhängt.

1
Umar Asghar

Das gleiche Problem habe ich bei der Verwendung von Angular JS gefunden. Es wurde durch die Verwendung von required zusammen mit ng-hide verursacht. Wenn ich auf den Submit-Button geklickt habe, während dieses Element ausgeblendet war, trat der Fehler auf Ein ungültiges Formularsteuerelement mit name = '' ist nicht fokussierbar. endlich! 

Zum Beispiel verwenden Sie ng-hide zusammen mit erforderlichen:

<input type="text" ng-hide="for some condition" required something >

Ich löste es, indem ich stattdessen das erforderliche durch ein ng-Muster ersetzte.

Zum Beispiel für die Lösung:

<input type="text" ng-hide="for some condition" ng-pattern="some thing" >

Ich bin hierher gekommen, um zu antworten, dass ich dieses Problem selbst ausgelöst habe, da das </form>-Tag NICHT geschlossen und mehrere Formulare auf derselben Seite angezeigt wurden. Das erste Formular umfasst auch die Suche nach Validierungen für Formulareingaben von anderen Stellen. Da diese Formulare ausgeblendet sind, wurde der Fehler ausgelöst.

so zum beispiel:

<form method="POST" name='register' action="#handler">


<input type="email" name="email"/>
<input type="text" name="message" />
<input type="date" name="date" />

<form method="POST" name='register' action="#register">
<input type="text" name="userId" />
<input type="password" name="password" />
<input type="password" name="confirm" />

</form>

Löst aus 

Ein ungültiges Formularsteuerelement mit name = 'userId' kann nicht fokussiert werden.

Ein ungültiges Formularsteuerelement mit name = 'password' kann nicht fokussiert werden.

Ein ungültiges Formularsteuerelement mit name = 'confirm' kann nicht fokussiert werden.

1
Frankenmint

Alternativ können Sie auch das Platzhalter-Attribut "HTML5" verwenden. Dann müssen Sie keine Js-Validierungen verwenden. 

<input id="elemID" name="elemName" placeholder="Some Placeholder Text" type="hidden" required="required">

Chrome kann keine leeren, versteckten und erforderlichen Elemente finden, auf die Sie sich konzentrieren können. Einfache Lösung 

Hoffentlich hilft das. Ich bin mit dieser Lösung total zufrieden. 

0
utkarshk

Dieser Fehler ist mir passiert, weil ich ein Formular mit nicht ausgefüllten Pflichtfeldern übermittelt habe.

Der Fehler wurde verursacht, weil der Browser versuchte, sich auf die erforderlichen Felder zu konzentrieren, um den Benutzer zu warnen, dass die Felder erforderlich waren. Diese erforderlichen Felder wurden jedoch in einer Anzeige ohne div ausgeblendet. Ich übermittelte einen sichtbaren Tab und die erforderlichen Felder befanden sich in einem verborgenen Tab, daher der Fehler.

Vergewissern Sie sich, dass Sie die erforderlichen Felder ausgefüllt haben.

0
eloone

Ich wollte hier antworten, weil KEINE dieser Antworten oder ein anderes Google-Ergebnis das Problem für mich gelöst hat.

Für mich hatte es nichts mit Fieldsets oder versteckten Eingaben zu tun.

Ich habe festgestellt, dass bei Verwendung von max="5" (z. B.) dieser Fehler auftritt. Wenn ich maxlength="5" verwendet habe ... kein Fehler.

Ich konnte den Fehler und das Löschen des Fehlers mehrmals reproduzieren.

Ich weiß immer noch nicht, warum die Verwendung dieses Codes den Fehler verursacht, sofern dies angibt, dass er gültig sein sollte, auch ohne ein "min", glaube ich.

0
Kevin Marmet

Nicht nur bei der Angabe von required habe ich auch dieses Problem, wenn Sie min und max verwenden, z.

<input type="number" min="1900" max="2090" />

Dieses Feld kann basierend auf einem anderen Funkwert ausgeblendet und angezeigt werden. Zur vorübergehenden Lösung entfernte ich die Validierung. 

0
deerawan

Ich hatte auch das gleiche Problem. Dieser Trick funktionierte für mich ... __ Entfernen Sie einfach das erforderliche Attribut aus dem ausgeblendeten Feld.

 <input type="password" name="password" id="password"
                           class="form-control" placeholder=""  required>

zu

 <input type="password" name="password" id="password"
                           class="form-control" placeholder="" >
0
Susampath

Dies liegt daran, dass es eine versteckte Eingabe mit dem erforderlichen Attribut im Formular gibt.

In meinem Fall hatte ich eine Auswahlbox, die vom Jquery-Tokenizer mit Inline-Stil ausgeblendet wird. Wenn ich kein Token auswähle, gibt der Browser bei der Formularübermittlung den obigen Fehler aus.

Also habe ich es mit der folgenden CSS-Technik behoben:

  select.download_tag{
     display: block !important;//because otherwise, its throwing error An invalid form control with name='download_tag[0][]' is not focusable.
    //So, instead set opacity
    opacity: 0;
    height: 0px;

 }
0
sudip

Stellen Sie sicher, dass für alle Steuerelemente in Ihrem Formular mit dem erforderlichen Attribut auch das Attribut name festgelegt ist

0
Adam Diament

Bei anderen AngularJS 1.x-Benutzern ist dieser Fehler aufgetreten, weil ich ein Formularsteuerelement vor der Anzeige verborgen habe, anstatt es vollständig aus dem DOM zu entfernen, wenn ich nicht benötigte, dass das Steuerelement abgeschlossen wurde.

Ich habe das Problem behoben, indem ich ng-if anstelle von ng-show / ng-hide für das Div verwendet, das das zu überprüfende Formularsteuerelement enthält.

Ich hoffe, das hilft Ihnen, anderen Benutzern von Edge-Fällen.

0
J.D. Mallen

Beim Klonen eines HTML-Elements zur Verwendung in einem Formular wurde dieselbe Fehlermeldung angezeigt.

(Ich habe ein teilweise vollständiges Formular, in das eine Vorlage eingefügt wurde, und dann wird die Vorlage geändert.)

Der Fehler bezog sich auf das ursprüngliche Feld und nicht auf die geklonte Version.

Ich konnte keine Methoden finden, die das Formular zwingen würden, sich selbst neu zu bewerten (in der Hoffnung, dass alle Verweise auf die alten Felder, die jetzt nicht vorhanden sind, entfernt werden), bevor die Validierung ausgeführt wird.

Um dieses Problem zu umgehen, entfernte ich das erforderliche Attribut aus dem ursprünglichen Element und fügte es dynamisch dem geklonten Feld hinzu, bevor es in das Formular eingefügt wurde. Das Formular überprüft nun die geklonten und geänderten Felder korrekt.

0
AlastairDewar

Ich bin mit dem gleichen Problem hierher gekommen. Für mich (das Einfügen von ausgeblendeten Elementen nach Bedarf - d. H. Die Ausbildung in einer Job-App) hatte ich die erforderlichen Markierungen.

Mir wurde klar, dass der Validator schneller auf die Injektion schoss, als das Dokument fertig war, und so beschwerte er sich. 

Mein ursprüngliches ng-required-Tag verwendete das Tag für Sichtbarkeit (vm.flags.hasHighSchool). 

Ich löste mich durch Erstellen eines dedizierten Flags, um die erforderlichen Einstellungen festzulegen Ng-required = "vm.flags.highSchoolRequired == true"

Ich habe einen 10ms Rückruf beim Setzen dieses Flags hinzugefügt und das Problem wurde behoben.

 vm.hasHighSchool = function (attended) {

        vm.flags.hasHighSchool = attended;
        applicationSvc.hasHighSchool(attended, vm.application);
        setTimeout(function () {
            vm.flags.highSchoolRequired = true;;
        }, 10);
    }

Html:

<input type="text" name="vm.application.highSchool.name" data-ng-model="vm.application.highSchool.name" class="form-control" placeholder="Name *" ng-required="vm.flags.highSchoolRequired == true" /></div>
0
James Fleming

Ich habe diese Frage oft gestellt und bin selbst auf diesen "Fehler" gestoßen. Es gab sogar Links zu der Frage, ob dies ein tatsächlicher Fehler in Chrome ist.
Dies ist die Antwort, die auftritt, wenn ein oder mehrere Elemente des Formulareingabetyps ausgeblendet sind und für diese Elemente eine Mindest-/Höchstgrenze (oder eine andere Gültigkeitsbeschränkung) festgelegt ist. 

Bei der Erstellung eines Formulars werden den Elementen keine Werte zugeordnet. Später können die Elementwerte gefüllt werden oder bleiben unverändert. Zum Zeitpunkt des Einreichens wird das Formular analysiert und alle ausgeblendeten Elemente, die sich außerhalb dieser Gültigkeitsgrenzen befinden, werfen diesen "Fehler" in die Konsole und das Einreichen schlägt fehl. Da Sie nicht auf diese Elemente zugreifen können (weil sie ausgeblendet sind), ist dies die einzige gültige Antwort.

Dies ist weder ein Fehler noch ein Fehler. Dies ist ein Hinweis darauf, dass Elementwerte vorliegen, die außerhalb der von einem oder mehreren Elementen festgelegten Grenzen liegen.

Um dieses Problem zu beheben, weisen Sie allen Elementen, die zu einem Zeitpunkt vor dem Senden des Formulars verborgen sind, einen gültigen Standardwert zu. Diese "Fehler" werden dann niemals auftreten. Es ist kein Fehler an sich, sondern zwingt Sie nur zu besseren Programmiergewohnheiten.

Hinweis: Wenn Sie diese Werte auf einen Wert außerhalb der Validierungsgrenzwerte setzen möchten, verwenden Sie form.addEventListener ('submit', myFunction), um das 'submit' - Ereignis abzufangen und diese Elemente in "myFunction" einzugeben. Es scheint, dass die Validierungsprüfung durchgeführt wird, bevor "myFunction ()" aufgerufen wird.

0
Kent

Mein Szenario, das ich in dieser langen Reihe von Antworten nicht vermisst habe, war etwas sehr seltsam.

Ich habe div-Elemente, die dynamisch über eine Dialogbox aktualisiert werden, in der sie zum Laden und Eingreifen aufgerufen werden.

Kurz gesagt hatten die Div IDs 

<div id="name${instance.username}"/>

Ich hatte einen Benutzer: 测试 帐户 und aus irgendeinem Grund hat die Kodierung seltsame Dinge in der Java-Script-Welt gemacht. Ich habe diese Fehlermeldung für ein Formular erhalten, das an anderen Stellen arbeitet.

Es wurde auf diese Weise eingegrenzt und ein erneuter Test der Verwendung numerischer Nummern stattdessen angezeigt. Das heißt, id erscheint, um das Problem zu beheben. 

0
Vahid

Lassen Sie mich meinen Fall darlegen, da er sich von allen oben genannten Lösungen unterscheidet. Ich hatte ein HTML-Tag, das nicht richtig geschlossen wurde. Das Element war nicht required, aber es war in ein hidden div eingebettet

in meinem Fall bestand das Problem darin, dass der type="datetime-local" bei der Formularübergabe aus irgendeinem Grund bestätigt wurde. 

ich habe das geändert

<input type="datetime-local" />

in das

<input type="text" />
0
SoliQuiD