2012-04-09 4 views
3

Ich habe dieses Objekt unter:Benutzer Fehlermeldungen | HTML-Daten vs JavaScript

Ich dachte über die Nachrichten in html wie diese

<div id = "text_identifier">text_here</div> // div is hidden. 

setzen und dann getElementByld mit der Nachricht in JavaScript ziehen und schließlich für den Benutzer anzeigen in das richtige Element (das Parameterelement in Message)

Zwei verwandte Fragen?

Ist es eine schlechte Übung, Inhalte in JavaScript zu haben?

Wenn ich die Nachrichten in das HTML verschiebe, ist die oben beschriebene Methode die beste Methode?

/** 
*Message 
*/ 

var Message = function(element) 
{ 
    var messages = 
    { 
     name:   'Please enter a valid name', 
     email:  'Please enter a valid email', 
     pass:   'Please enter passoword, 6-40 characters', 
     url:   'Please enter a valid url', 
     title:  'Please enter a valid title', 
     tweet:  'Please enter a valid tweet', 
     empty:  'Please complete all fields', 
     email_s:  'Please enter a valid email.', 
     same:   'Please make emails equal', 
     taken:  'Sorry, that email is taken', 
     validate:  'Please contact <a class="d" href="mailto:[email protected]">support</a> to reset your password', 
    } 
    this.display = function(type) 
    { 
     element.innerHTML = messages[ type ]; 
     new Effects().fade(element, 'down', 4000); 
    } 
}; 

Antwort

1

benötigen, hängt es, wie Sie das tun. Oft ist JavaScript nicht das Wichtigste, es ist der PHP-Backend-Teil. So integrieren Sie es, wie es in Ihrem System leicht lesbar ist. :)

Ich würde das HTML data-* Attribut für jedes Element verwenden.

, wenn Sie viele Eingänge bekommen kann man es so machen:

<input type="text" name="name" data-error-message="Please enter a valid name"> 
<input type="text" name="email" data-error-message="Please enter a valid email"> 
<input type="text" name="pass" data-error-message="Please enter passoword, 6-40 character"> 

und wenn Sie die Werte auswählen, können Sie auch die Fehlermeldungen wählen :)

1

Ich bin sicher, Sie wissen, wie Javascript verwenden auf, was Sie bisher gesagt, in der Praxis die Methode, die Sie verwenden, ist absolut in Ordnung, und Sie sollten keinen Schaden verursachen, ich habe einen Link nur hinzugefügt incase Sie eine Referenz

http://www.javascripttoolbox.com/bestpractices/

1

Ich denke, es ist wirklich eine Präferenz Ding. Du könntest es im HTML haben und nur ein div mit einer bestimmten Klasse zeigen (d. H. Ein div, das sagt "Sorry, diese Email ist genommen" hat die Klasse .taken und du zeigst div wenn dieser Fehler ausgelöst wird).

Es mag auf der einen oder anderen Seite Argumente für die Leistung geben, aber ich sehe sie als ziemlich unbedeutend auf dieser Skala, und wenn überhaupt, kann Ihre Methode etwas besser sein. Es gibt Ihnen einen einheitlichen Ort zum Bearbeiten von Nachrichten und eine einfache, saubere Art, diese Nachrichten an die Front zu rufen.

Also wirklich, eine Frage der Meinung/Vorliebe.