Guten Morgen!
Javscript sollte ja möglichst so eingesetzt werden, dass eine Bedienbarkeit auch ohne es gewährleistet ist.
So dachte ich mir ein Formular, das zwar notwendig ist, aber nicht immer sichtbar sein muss, mit Javascript auszublenden.
<script type="text/javascript">
function init() {
document.getElementById('showForm').style.display = 'block';
document.getElementById('form').style.display = 'none';
}
function showhide() {
document.getElementById('showForm').style.display = 'none';
document.getElementById('form').style.display = 'block';
}
</script>
<body onload="init()">
<p id="showForm" style="display:none" onclick="showhide()">Neuen Datensatz hinzufügen</p>
<form id="form" style="display:block" ...>
...
</form>
(Mal abgesehen von "showhide", da mir kein besserer Name für diese Funktion einfiel:)
Beim Laden der Seite wird das Formular angezeigt, der Absatz hingegen nicht. Das bleibt auch so, wenn Javascript nicht aktiviert ist. Steht Javascript zur Verfügung greift onload im <body> und versteckt das Formular und zeigt den Absatz an. (Der Benutzer kann nun, falls er einen neuen Datensatz hinzufügen möchte, mit onclick auf den Absatz das Formular wieder einblenden.)
Jedoch ist beim Laden der Seite für kurze Zeit das Formular zu sehen, bevor das onload zuschlägt und es versteckt. Dieses kurzzeitige Aufflackern möchte ich nun vermeiden, habe aber keine Idee, wie es anzustellen wäre, oder ob es eine andere/bessere Lösungsmöglichkeit gibt. Habt ihr eine?
dedlfix