2017-01-23 4 views
0

Ich habe eine Registrierungsseite, die interne Benutzer verwenden müssen, um sich für die Website zu registrieren. Ich verwende JavaScript, um sicherzustellen, dass alle erforderlichen Felder ausgefüllt sind.handle deaktiviert Javascript Benutzer Sitzung

Ich stieß gerade auf ein Problem, in dem ein Benutzer Browser JavaScript deaktiviert hat.

Jetzt möchte ich in der Lage sein zu überprüfen, ob der Browser JavaScript deaktiviert hat Ich möchte die Überprüfung auf dem Server und wenn ein erforderliches Feld leer ist, werde ich eine Nachricht zurück an den Benutzer senden, um dieses Feld zu füllen.

Danke

+1

Sie möchten JavaScript ausführen, um zu sehen, ob JavaScript aktiviert ist? Sie sollten trotzdem serverseitige Validierungen durchführen, da Sie Benutzereingaben verarbeiten. – csmckelvey

+0

Sie können noscript verwenden, um diesen Fall zu behandeln, wie es [hier] (http://stackoverflow.com/q/121203/2401386) sagt – Blauharley

+0

takendrakk, ich habe nie gesagt, ich möchte Javascript zu sehen, ob Javascript aktiviert ist. Ich fragte, wie kann ich überprüfen, ob Javascript aktiviert ist. Was kann ich für diese Überprüfung verwenden? Was kann ich tun, um diese Überprüfung auf der Serverseite durchzuführen? Warum möchte ich zum Server gehen, wenn die Felder auf dem Client leer sind. –

Antwort

0

Wenn Sie Validierungsmeldungen ohne Javascript zeigen wollen - Sie müssen Formulare auf dem Server validieren (tatsächlich, müssen Sie immer valdiate Formen Server-Seite) und verschiedene HTML erzeugen.

Es hängt von Framework/Sprache ab, die Sie verwenden, um HTML zu generieren.

Zum Beispiel in MVC/C# werden Sie so etwas wie mit sein Html.ValidationMessageFor (m => m.whatever)

Sie sollten sie tatsächlich halten beides: Javascript (für diejenigen, die Javascript verwenden) Senden zu verhindern falsche Daten zum Server.

Und dann auf dem Server Sie doppelte Kontrolle und zurück geändert html

0

Typischerweise JavaScript deaktiviert, wenn ein Benutzer auf ihrer Sitzung/Browser hat, wird sie richte ich es entweder, bevor Sie fortfahren zu können. Wenn Ihr Formular nicht Ajax verwendet oder nicht auf Ajax "angewiesen" ist, ist es möglich, eine Antwort an den Benutzer zu formulieren.

if (is_ajax()) { 

//Do your normal processing 

} else { 

//Validate each input server side, you have to write your own validation here. 

$response = array(); 
if (is_string($_REQUEST['input:name'])) { 

} else { 
$response['error'] = true; 
$response['errorMessage'] = 'Your error message.'; 
//Handle getting this back to the front end of your registration page. 
} 

} 
Verwandte Themen