form submit enter-re
sziasztok! adott egy ilyen form:és egy ilyen javascript:az lenne a gondom, hogy ha enter-t nyomok, és nem az OK-ra kattintok, akkor csak újratölti az oldalt úgy hogy hozzáfűzi a címhez h ?keres=... , de a keres függvény nem hajtódik végre. php beavatkozással már megoldottam, hogy úgy is működjön, de nem lehet valahogy csak kliens oldalon lerendezni?
■ - <form name="kereso" onSubmit="javascript:kereses();" style="padding-left:5px">
- <input name="keres" type="text" style="width:115px">
- <a name="submit" href="javascript:kereses();">OK</a>
- </form>
- kulcsszo=new Object();
- oldal=new Object();
- kulcsszo[0]=1
- kulcsszo[1]="exit"
- oldal[1]="exit.html"
- function kereses(){
- var talalat=false;
- var Item=document.forms[0].keres.value.toLowerCase();
- for(var i=1;i<=kulcsszo[0];i++){
- if(Item==kulcsszo[i]){
- talalat=true;
- location.href=oldal[i];}}
- if(!talalat)
- msg=alert("Nincsen találat!");}
Igen
Persze!
<form name="kereso" onSubmit="javascript:kereses(); return false;" style="padding-left:5px">
<input name="keres" type="text" style="width:115px">
<a name="submit">OK</a>
</form>
Tehát egy return false; került a form eseménykezelőjébe, ez meggátolja az elküldést. A submit gombon nincs is szükség a kódra, hiszen - mivel submitról van szó - végrehajtja a form submit eseményét (a tied szerint igazából duplán hajtódna végre).
Szebb megoldás, ha mindezt nem a markupba (HTML) írod, hanem valamilyen frameworkot használsz, és külön JS fájlban kötöd az elemekhez az eseménykezelőket.
OK
focus field
onblur