2017-06-16 5 views
0

Ich habe dieses Problem mit der Änderung der Spannweite Text durch Javascript. Ich versuche eine Fehlermeldung zu erhalten, wenn falsche Eingaben gesendet werden. Wie kann ich das beheben?Ändern von span Text mit js

 function SubmitFunc() { 
 
      var studentNameInput = document.getElementById("student-name"); 
 
      CheckInputLetters(studentNameInput); 
 

 
     } 
 
     function CheckInputLetters(input) { 
 
      if (!/^[a-zA-Z_ ]+$/.test(input.value)) { 
 
       document.getElementById("name-error").innerHTML = "error"; 
 
      } 
 
     }
<label class="data-lbls data-titles-dec">FullName</label> 
 
    <input class="input-style" type="text" id="student-name" placeholder="Enter Full Name" /> 
 
    <span id="name-error" style="float:right;"></span>

+0

Code sieht gut aus. Das Problem muss sich auf das Senden und Aktualisieren der Seite beziehen, wodurch der Text verloren geht, den Sie zu diesem Bereich hinzufügen. Oder etwas anderes, das nicht in der Frage enthalten ist. –

+0

Ich versuche, den Wert der Spanne nach dem Ändern zu ändern. Die Warnung zeigt den neuen Wert, aber auf der Seite wird sie überhaupt nicht geändert. –

+0

Das widerlegt meine Theorie nicht. –

Antwort

0

Es ging um die enthält Formular-Tag und dem Eingang einreichen. Während die Eingabe die Seite aktualisiert, wird alles, was geändert wurde, erneut zurückgesetzt. Ich ändere die type="submit" zu type="button". Jetzt funktioniert es

-2

Sie müssen die Methode über so etwas wie onblur in das Eingabefeld verweisen:

 function SubmitFunc() { 
 
      var studentNameInput = document.getElementById("student-name"); 
 
      CheckInputLetters(studentNameInput); 
 
     } 
 
     function CheckInputLetters(input) { 
 
      if (!/^[a-zA-Z_\s]+$/.test(input.value)) { 
 
       document.getElementById("name-error").innerHTML = "error"; 
 
      } 
 
     }
<label class="data-lbls data-titles-dec">FullName</label> 
 
    <input class="input-style" onblur="SubmitFunc();" type="text" id="student-name" placeholder="Enter Full Name" /> 
 
    <span id="name-error" style="float:right;"></span>

+0

Ich bin froh, dass ich für etwas, das tatsächlich funktioniert, downvoted wurde: http://soulglo.com/what/44595682.html – geeves

-1

Wenn das Formular abgeschickt wird, wird die Seite neu laden und Sie werden die Änderungen nicht sehen (Fehlermeldung). Sie können den Rückgabewert der Funktion verwenden Sie das Formular Vorlage zu verhindern, wenn es einen Fehler bei der Überprüfung ist:

function SubmitFunc() { 
 
    var studentNameInput = document.getElementById("student-name"); 
 
    return CheckInputLetters(studentNameInput); 
 
} 
 

 
function CheckInputLetters(input) { 
 
    if (!/^[a-zA-Z_ ]+$/.test(input.value)) { 
 
    document.getElementById("name-error").innerHTML = "error"; 
 
    return false; // error 
 
    } 
 
    return true; // no error 
 
}
<form id="some" onsubmit="return SubmitFunc()"> 
 
    <label class="data-lbls data-titles-dec">FullName</label> 
 
    <input class="input-style" type="text" id="student-name" placeholder="Enter Full Name" /> 
 
    <span id="name-error" style="float:right;"></span> 
 
    <button type="submit">Send</button> 
 
</form>

+0

Warum der Downvote? – luisenrike

0

luisenrike, es war, weil das OP nicht alles relevante enthielt. Auch wenn unsere beiden Antworten mit begrenztem Kontext korrekt waren.