Daniel: location.reload() mit onfocus und onblur ein/ausschalten

Beitrag lesen

Hallo,

das folgende Programm macht genau das was du willst NeoNuss.
allerdings hat es genau das Problem, das Orlando hier beschreibt:

Ich halte diese Vorgehensweise für ungeeignet, denn wenn das Feld den Focus verliert, heißt das ja nicht, dass ich mit der Eingabe fertig bin - und nichts ist ärgerlicher, als so eine Aktion.

es wäre aber möglich, bei onFocus den Auto-Reload auszuschalten und garnicht wieder einzuschalten; hat der User nämlich seine Eingabe gemacht, will er sie warscheinlich auch wegschicken, was sowieso zu einem Reload oder gar zu einer anderen Seit führt.

var counter;
 var run = 1;

counter = 0;
 Timer=setTimeout("newTimer();", 1000);

function newTimer() {
   counter++;
   if (counter >= 2) {
     if (run) location.reload();
     counter = 0;
   }
   Timer=setTimeout("newTimer();", 1000);
 }

function Stop() {
   run = 0;
 }

function Start() {
   run = 1;
 }

nun musst du nur noch mit onFocus="javascript:Stop();" und onBlur="javascript:Start();" den Reload "sperren" oder "erlauben".
Die Zahl 2 in der Zeile "if (counter >= 2) {" gibt die Zeit in Sekunden an, nach denen die Seite neu geladen wird.

Eventuell solltest du das Eingabefeld und die Message-Box einfach trennen.

das halte ich allerdings auch für die bessere Idee.

Gruss Daniel