BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Javascript check (http://www.black-board.net/thread.php?threadid=22978)
Geschrieben von Flux am 04.08.2007 um 09:14:
Javascript check
Moin,
Ich möchte auf einer Seite checken ob der User Javascript aktiviert hat und wissen welchen Browser er benutzt.
Wenn Javascript deaktiviert ist, möchte ich eine Fehlermeldung ausgeben können.
Kennt jemand eine Möglichkeit dies zu bewerkstelligen?
Geschrieben von Misel am 04.08.2007 um 10:05:
ich mach das immer so:
code: |
1:
2:
3:
4:
5:
6:
|
<p id="notice">If you can read this please turn on Javascript and reload the page.</p>
<script type="text/javascript">
document.getElementById("notice").firstChild.nodeValue ="";
</script>
|
|
Geschrieben von LX am 04.08.2007 um 14:27:
Für solche Fälle gibt's auch das
NOSCRIPT-Tag.
Die Browserversion kannst du aus
navigator.userAgent auslesen und entsprechend aufbereiten.
Geschrieben von Flux am 07.08.2007 um 11:34:
danke.
hab nun nochn ähnliches ding, hab dazu jetzt nicht extra n neuen thread erfasst:
Durch klick kann man Daten in einer db löschen. Vorher möchte ich jedoch noch eine Javascript abfrage "Wirklich löschen --> ja/nein".
Das habe ich soweit:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
<script language=javascript>
<!--
function wirklich(){
if (confirm('Wirklich löschen?')) {
}
}
//-->
</script>
...
...
...
<a href="loeschen.php?action=loeschen" onclick="wirklich()">Löschen</a>
|
|
egal ob man nun auf ok/abbrechen klickt. das formular wird ausgeführt.
da ich aber ein absoluter javascript noob bin, weiss ich nicht, wie ich machen kann, dass das formular nur per klick auf "ok" ausgeführt wird. irgendwas mit return-false oder? habe einiges probiert aber eben ^^
p.s. kann man den Wert in der Abfrage von Ok/Abbrechen irgendwie auf z.B. Ja/Nein ändern?
mfg
Geschrieben von Misel am 07.08.2007 um 13:36:
Änderungen in der Datenbank übergibt man IMMER via POST über ein Formular.
Wenn jetzt der Googlebot über die Seite rennt, ignoriert er das JavaScript komplett und folgt fleißig allen Links. ie. Die Daten sind alle gelöscht!!!
Deshalb nimm dazu ein Formular! Dort hast Du dazu noch die Möglichkeit die
Formulareingaben vor dem Abschicken zu überprüfen. Genau so, wie Du es vorhast.
Grüße
Misel
Geschrieben von Flux am 07.08.2007 um 13:53:
ah klar, der böse google bot
ok werds mir merken.
wie ich die formulareingaben prüfe ist mir klar.
ich möchte jedoch, dass das formular nur abgeschickt wird, wenn der user bei der bestätigung auf "ok" klickt. bei "abbrechen" soll das formular nicht ausgeführt werden.
Edit: habs geschafft:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
|
<script type="text/javascript">
<!--
<!-- Felder Check -->
function check(){
pruef = confirm("Möchten Sie wirklich löschen?");
if(pruef != true)
{
return false;
}
}
//-->
</script>
|
|
im form tag muss dann am ende "onsubmit="return check()" rein.
Geschrieben von LX am 07.08.2007 um 17:48:
Für das erwähnte Sicherheitsfragen-Problem nochmal die Lösung:
code: |
1:
|
<a href="blah.php?id=sowieso" onclick="return confirm('echt jetz?');">clicky</a> |
|
Entscheidend ist das "return" im onclick-Eventhandler. Wenn der Ausdruck dahinter
false zurückggibt wird, dann wird das Ziel im href-Attribut nicht aufgerufen. Kommt hingegen
true zurück, dann wird der Link ganz normal bestätigt.
Geschrieben von Flux am 07.08.2007 um 17:53:
deutlich einfacher/eleganter so. danke!
Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH