der user kann nur eins von den 4 feldern anklicken also markieren... input:focus... danach kommt er mit der schaltfläche
Code:
<img id="Bild162" height="55" width="179" src="http://forum.jswelt.de/assets/images/Start.gif"
border="0" alt="Start" title="Start" onclick="location.href='./count_ps.php?s_start=<? echo $s_start; ?>&c_start=' + c_start + '&c_end=' + new Date().getTime() + '&res=' + res;">
auf die nächste Seite...
Du hast doch überhaupt keine automatische Weiterleitung - user muss doch aktiv auf das Start-Bild klicken, damit legt user seine Bedenkzeit doch individuell selbst fest...
und wenn ich es recht erinnere, hat Dir auch niemand vorgeschlagen, das Formular durch den Klick ins Textfeld abzuschicken
Sinn und Zweck eines Affenformulars ist es, ohne javascript auszukommen, damit garantiert ist, dass das Formular in jedem Fall funktioniert und immer korrekte, vollständige und plausible Daten beim server ankommen (genau deshalb ruft sich das server-script ja solange selbst auf bis die Daten ok sind)
erst durch Deinen Wunsch ohne radiobuttons auskommen zu wollen, zerstörst Du dieses Konzept, weil Du dadurch auf den Einsaz von javascript angewiesen bist, damit Du die Auswahl des users überhaupt mitbekommst
auch die Lösung mit :focus ist nicht sonderlich gut, da die Markierung beim blur-event wieder verloren geht
(die Farbmarkierung ist ja auch eine Folge davon, dass Du keine radiobuttons haben willst, um dem user dennoch anzuzeigen, was er ausgewählt hat)
wenn man javascript bei einem Affenformular einsetzt, sollte sich der Einsatz auf Zusatznutzen beschränken, auf den im Fall von deaktiviertem js getrost verzichtet werden kann, ohne dass die Datenübertragung davon beeinträchtigt wird
das ist Deinem Fall aber eben nicht mehr so
ein solcher Zusatznutzen wäre z.B. die Änderung der Hintergrundfarbe des per radiobutton ausgewählten Textfelds, oder das Verstecken der übrigen nicht gewählten Textfelder, oder das Setzen des disabled-Attributs bei den Textfeldern, damit diese nicht mitgesendet werden, um traffic zu reduzieren, da Du die Textinhalte ja nicht weiterverarbeitest, oder Deine Verweildauer-javascript-Zeitstempel
(da Du die Textfelder sowieso readonly hast, solltest Du sie auch direkt per HTML disabled anlegen, da der Inhalt nur user Info und kein user input ist)
normalerweise würde man für jedes key/value Paar ein Formularfeld haben (hiddenfields für die Zeiten), wenn js deaktiviert ist funktioniert das Formular noch, aber die zusätzlichen js-Zeitstempel gingen verloren, worauf Du serverseitig reagieren kannst
ganz davon ab, dass die lokale client-Zeit unzuverlässig ist, aber Dir scheint es ja um die Differenz zu gehen und die kannst Du ja auch serverseitig ermitteln und brauchst dazu kein clientseitiges javascript
Du setzt einfach die server-Zeit in ein hidden input (name="s_start" value="<? echo $s_start;?>"), damit hast Du Zeitpunkt 1 des outputs an den client und wenn Dein php-script wieder ausgeführt wird (durch Absenden des Formulars) holtst Du Dir mit time() den Zeitpunkt 2 und ziehst davon den alten Wert $_POST['s_start'] (bzw. $_GET) ab, damit hast Du auch die Bearbeitungszeit des users ermittelt (zwar mit Übertragungszeiten, dafür aber zuverlässig)
übrigens es gibt auch
Bildbuttons für Formulare - ganz ohne onclick
Fazit: mach es so wie Du es für richtig hälst (wirst Du eh machen), aber man kann die Aufgabe sicherlich ohne javascript umsetzen und genau das haben hier mehrere Leute versucht Dir nahezulegen
Du musst Dir aber davon nichts annehmen
(allerdings solltest Du hellhörig werden, wenn javascript-Fans Dir von javascript abraten, das machen die bestimmt aus gutem Grund)