2016-04-21 13 views
-2

zu verwenden Ich führe einen PHP-Code, um Login-Formular zu validieren und wenn eine Eingabe leer ist, sollte es eine Javscript-Funktion ausführen, die das Anzeigeattribut von einigen DIVs zu blockieren. Wenn ich meine JS-Code zwischen dem Kopf-Tag setzen, sagt erDer Versuch, eine js-Funktion in PHP-Code

Uncaught TypeError: Cannot read property 'style' of null

, und wenn ich meinen Code setzen, bevor der/Body-Tag sagt es

Uncaught ReferenceError: formValidation is not defined

Javascript-Code:

function formValidation() { 
    document.getElementById("errMessage").style.display = "block", 
    document.getElementById("arrow-errMessage").style.display = "block", 
    document.getElementById("errEmail").style.display = "block", 
    document.getElementById("arrow-errEmail").style.display = "block"; 
} 

PHP-Code:

else { 
      echo "<script> formValidation(); </script>"; 
    } 
+1

es ist besser, Form in Funktion zu prüfen ob else-Anweisungen verwenden, und dann alarmieren Sie den Benutzer über das leere und dann auf dieses Feld konzentrieren und CSS hinzufügen, anstatt dies in PHP mit JavaScript. Wenn PHP und JavaScript getrennt sind, ist es auch einfach, die Fehler zu behandeln. –

+0

Wenn Sie die Validierung über PHP durchführen, legen Sie diese Stile nicht direkt mit PHP fest ...? Ich achte sehr auf ein Duplikat von http://stackoverflow.com/a/13840431/476 hier ... – deceze

Antwort

1

Zum Zeitpunkt der Ausführung formValidation() sind die DOM-Elemente nicht bereit.
Sie müssen das Ereignis zum Laden der Seite abfangen und dann die Stiländerung ausführen.

document.addEventListener("load", formValidation); 
0

Try

verwenden
window.onload=formValidation; 

Es wird ausgeführt, wenn Web-Seite vollständig alle Inhalte geladen ist.

0

Sie können JQuery zum Prüfen des document ready-Ereignisses verwenden.

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.3.min.js"></script>

Verwenden Sie diesen HTML-Code in Ihrem Dokument

else{ 
echo '<script type="text/javascript"> 
    $(document).ready(function() { 
     formValidation(); 
    }); 
</script>'; 
} 

Bearbeiten Sie Ihre PHP-Code und versuchen, diese

Verwandte Themen