2016-05-22 16 views
1

Ich mache ein paar Dinge, um JavaScript zu üben.JavaScript ändern leere Formularfelder Farbe

Ich mache ein Formular, und ich möchte leere Felder mit einer roten Farbe und einem Text "markieren".

Der Code Ich habe die Eingänge mit rot gemalt, aber nur wenn ich auf submit klicke und dann wird es wieder weiß. Eine andere Sache, die ich nicht tun kann, ist, das leere Feld mit Text zu füllen.

Dies ist das Skript I (nur für die Farbe vorerst) für die Hilfe

function validate() { 
    var f1 = document.getElementById("name"); 
    var f2 = document.getElementById("email"); 
    var f3 = document.getElementById("address"); 
    var f4 = document.getElementById("age"); 
    var f5 = document.getElementById("cp"); 
    var ferror = [f1,f2,f3,f4,f5]; 
    var i; 
    for (i = 0; i < ferror.length; i++) { 
     ferror[i].style.backgroundColor = "red"; 
    } 
    } 

Dank bin mit! :)

+0

Willkommen bei StackOverflow. Ich habe Angst, dass Sie uns nicht genügend Informationen gegeben haben, um eine Ahnung zu haben, was Ihr Problem ist. Wenn Sie Ihre Frage bearbeiten und die Funktion "Snippet" verwenden, können Sie den erforderlichen HTML-Code einfügen, um Ihr Problem zu veranschaulichen. –

Antwort

2

Es hört sich an, als könnte etwas anderes passieren, das Probleme verursacht, aber ich fügte eine Bedingung in der for-Schleife hinzu, die auf Wertlänge auf der Eingabe prüft. Sie können es hier arbeiten sehen: https://jsfiddle.net/2Le9gzt4/

function validate() { 
    var f1 = document.getElementById("name"); 
    var f2 = document.getElementById("email"); 
    var f3 = document.getElementById("address"); 
    var f4 = document.getElementById("age"); 
    var f5 = document.getElementById("cp"); 
    var ferror = [f1,f2,f3,f4,f5]; 
    var i; 
    for (i = 0; i < ferror.length; i++) { 
     if(ferror[i].value.length < 1){ 
     ferror[i].style.backgroundColor = "red"; 
     } 
    } 
} 
+0

Ja, es funktionierte für mich, wenn ich dein Formular und Skript kopiere. Aber wenn ich mit meinem sogar auf jsfiddle.net versuche, heißt es {"error": "Bitte benutze POST-Anfrage"} – bugfire

+0

Ich denke es gibt mehr zu deinem Code, der erklärt werden muss. Wäre es möglich, an einem Spiel teilzuhaben? – abigwonderful

+0

Ich denke, ich habe es. Ich hatte etwas falsch in der Form. Ich habe einen neuen gemacht und es funktioniert genau so, wie du es in deinem vorherigen Post gesagt hast! – bugfire