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