webForumDet fria alternativet

onblur

2 svar · 196 visningar · startad av Choronzon

ChoronzonMedlem sedan aug. 20011 246 inlägg
#1

Samtidigt som jag klickar utan att ha något skrivet i inputen vill jag åter
fylla den med värdet "sök", efter att alertrutan kommit upp.
Provade såhär, men det funkar inte. Jag kör sidan från servern, så
onBlur="if(this.value=='')this.value='Sök' funkar bara innan man sökt
en gång. Sedan använder jag själva söktermen som value. Så jag behöver
alltså sätta själva värdet "sok" från javascriptet i head..typ

     function check()
     {
       if (document.Form.sok.value == "Sök" || document.Form.sok.value == "")
       {
         alert("Ange sökterm")
        (document.Form.sok.value == "Sök")
         return false
       }
     }

<input name="sok" value="Sök" onFocus="if(this.value=='Sök')this.value='';" 
onBlur="if(this.value=='')this.value='Sök';" type="text">
ChoronzonMedlem sedan aug. 20011 246 inlägg
#2

Eller om jag förenklar det lite. Samtidigt som detta händer vill jag ha en alertruta.

     function check()
     {
       if (document.Form.sok.value == "")
       {
       document.Form.sok.value == "sok")
         return false
       }
     }

typ såhär..

     function check()
     {
       if (document.Form.sok.value == "")
       {
       alert("Ange sökterm")
       document.Form.sok.value == "sok")
         return false
       }
     }
Peter SMedlem sedan dec. 20025 484 inlägg
#3

Använd alltid semikolon efter en sats, det gör koden mer lättläst och ger samtidigt mindre risk för fel.

function check(o){
     if(o.elements["sok"].value=="" || o.elements["sok"].value=="Sök"){
          alert("Ange sökterm");
          o.elements["sok"].value="Sök";
          return false;
     }
};

...

<form onsubmit="return check(this)"...

:)

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb