2011-01-11 18 views
1

Wie kann ich jquery Fehlermeldungen ohne Verwendung der Alarmbox anzeigen? Ich brauche einfach eine Ein-Zeilen-Fehlermeldung, die auf dem Bildschirm rot angezeigt wird.jquery Fehlermeldung

+0

Sie können die Nachricht in ein div einfügen und positionieren, wo immer Sie möchten. CSS und DOM machen es möglich. –

Antwort

2

So stellen Sie eine Funktion, die es tut ...

function error(msg) { 

    var msgBox = $('#msg-box'); 

    if (msgBox.length === 0) { 
     msgBox = $('<div />', { 'id': 'msg-box'}).hide().prependTo('body'); 
    } 

    msgBox.html(msg).fadeIn(500); 

} 

Dann

#msg-box { 
    background: red; 
    padding: 1em; 
} 

See it on jsFiddle einige CSS hinzufügen.

+0

Ich würde Ihnen +1 geben, wenn nur für die Geige, aber sogar vorschlägt, die native 'alert' Funktion zu ersetzen? Uh .... –

+0

@Felix Kling Sorry, es klang einfach so, als ob das OP es wollte (ich habe die * nicht empfohlen * Warnung). Ich entfernte diesen Teil und hoffe, immer noch das +1 zu bekommen :) – alex

+0

Mmh lass mich nachdenken ......... ok :) –

0

Versuchen Sie mit jQuery UI dialog component (auch see here). Alternativ können Sie auch einfach ein oder div Element inline mit dem Rest des Inhalts erstellen und Ihre Nachricht mit einem Knopf versehen, um es loszuwerden (oder Sie könnten es nach so vielen Sekunden automatisch ausblenden).

0

Setzen Sie das, wo die Fehler angezeigt werden sollen.

<div id='errorDiv'></div> 

Und setzen Sie Ihre Fehlermeldungen drin.

0

Etwas wie folgt aus:

$("<p>error message</p>").css("color", "red").appendTo($("body")); 

Sie können auch einen leeren Knoten (div) in den HTML-Code, sagen mit der ID "error_msg" setzen, dann ist diese Nachricht in sie hinzufügen verwenden:

$("#error_msg").html("error message"); 
1

zum Beispiel

function jAlert(text) { 
    var jAl = $('#jAlert'); 
    jAl = jAl.length ? jAl : $('<div>',{'id':'jAlert'}).css({ 
     'padding': '10px', 
     'border': '1px solid black', 
     'position': 'absolute', 
     'color': 'red' 
    }).click(function() { 
     $(this).hide(); 
    }).appendTo('body').hide(); 


    jAl.html(text).show(); 
} 

fiddle

Wenn Sie nur Debuginformationen anzeigen möchten, können Sie console.log() in chrome oder firebug verwenden

+0

Ich würde empfehlen, die Regeln in einem CSS-Stylesheet zu platzieren - ansonsten mischt man Präsentation und Verhalten dort, wo es nicht nötig ist. – alex

+0

Ja, ich habe es gerade für das schnelle Beispiel getan, aber natürlich hast du Recht. – Andy