2016-08-07 14 views
0

Ok, dieses Problem wurde gelöst !!! danke Jungs, folgende ist die ursprüngliche Frage, so dass Sie wissen, was ich versuchte zu erreichen, vielleicht wird dies in der Zukunft jemand anderes helfen .... Im Wesentlichen, wenn Leute das Formular einreichen, möchte ich das Skript, dass die Wertlängen zu überprüfen die Eingabe ist mindestens eine bestimmte Anzahl. Und auch, dass der Benutzer ein bestimmtes EXAKTES Wort nicht eingegeben hat. Wenn sie eines der verbotenen Wörter genau eingegeben haben, oder wenn sie einen Wert eingegeben haben, der nicht genug Zeichen enthält, möchte ich, dass das Skript fehlschlägt, um die Eingabewerte nicht zu senden, und stattdessen eine Fehlermeldung anzeigen, indem ich die CSS-Anzeige eines DIVs ändere blockieren.Javascript Formular Validierung - Wert Länge und Liste der blockierten Wörter

Und hier ist das aktualisierte funktionierende Javascript!

JAVASCRIPT: 
function wordcheck() { 
var words = ['words','Words']; 
if(document.getElementById('top').value.length < 5){ 
var error = document.getElementById('error'); 
error.style.display = 'block'; 
     return false; 
    } 
if(document.getElementById('bottom').value.length < 5){ 
var error = document.getElementById('error'); 
error.style.display = 'block'; 
     return false; 
    } 
for(var i = 0;i < words.length;i++){ 
    if(document.getElementById('top').value == words[i]){ 
var error = document.getElementById('error'); 
error.style.display = 'block'; 
     return false; 
    } 
} 
    for(var i = 0;i < words.length;i++){ 
    if(document.getElementById('bottom').value == words[i]){ 
var error = document.getElementById('error'); 
error.style.display = 'block'; 
     return false; 
    } 
} 
    return true; 
} 

und die HTML-Referenz

HTML: 
<form method="get" action="test.html" id="formdate" class="formdate" onsubmit="return wordcheck()"> 

<input name="top" type="text" id="top" placeholder="top"> 

<input name="bottom" type="text" id="bottom" placeholder="bottom"> 

<button id="button" type="submit">Enter</button> 

<div id="error" > 
sorry try again 
</div> 


CSS: 
#error { 
color:red; 
display: none; 
margin-bottom: 10px; 
text-align: center; 
} 

Vielen Dank!

+0

Ein Tipp für zukünftige Fragen: Fügen Sie alle Fehlermeldungen ein, die Sie erhalten, da diese sehr hilfreich für Personen sind, die Ihnen helfen möchten. – qxz

Antwort

0

diesen Code

function check() { 
var banned = ['january','January','11:03pm','11:03PM']; 
if(document.getElementById('date').value.length < 8){ 
    var error = document.getElementById('error'); 
    error.style.display = 'block'; 
      return false; 
     } 
if(document.getElementById('time').value.length < 8){ 
    var error = document.getElementById('error'); 
    error.style.display = 'block'; 
      return false; 
     } 
     return true; 
} 
+0

Sie sollten Ihre Antwort bearbeiten, um einzuschließen, was falsch war und wie Sie es behoben haben (d. H. "GetElementById" gibt ein rohe Element und kein jQuery-Objekt zurück) – qxz

+0

Wow, das hat endlich funktioniert! Danke!! Ich nehme an, das Problem war mit den Fehlerzeilen .. ughh die ganze Zeit .. Ok, jetzt funktioniert dieser Teil, was ist mit den verbotenen Wörtern? Wie kann ich das in das Skript implementieren, so dass jede Eingabe überprüft wird, wenn eines dieser Wörter getippt wird? – wolfttp

+0

@wolfttp Diese Frage kann helfen: http://stackoverflow.com/questions/237104/how-do-i-check-if-an-array-includes-an-object-in-javascript – qxz

0

Das Problem mit Ihrem Code ist in den Zeilen

document.getElementById('error').css('display','block'); 

Versuchen Sie, die

document.getElementById('error').style.display = 'block'; 

document.getElementById gibt ein Element Objekt sein sollte, das Element darstellt. Die .css(key,val) Syntax ist für ein Objekt, das von jQuery zurückgegeben wird; In diesem Fall müssen Sie die Eigenschaft style.display ändern, da Sie nicht mit jQuery auf das Element zugreifen. Siehe HTMLElement.style

Um zu überprüfen, ob eine Zeichenfolge in einem Array von Zeichenfolgen enthalten ist, versuchen Sie banned.indexOf(str) != -1. Siehe this SO question.