ugrás a tartalomhoz

form submit enter-re

newyorkerboy · 2009. Nov. 13. (P), 17.57
sziasztok! adott egy ilyen form:

<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>
és egy ilyen javascript:

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!");}
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?
 
1

Igen

gphilip · 2009. Nov. 13. (P), 20.00
Szia!

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.
2

OK

newyorkerboy · 2009. Nov. 13. (P), 20.21
okés, köszi már működik, így kicsit egyszerűbb is :D
3

focus field

newyorkerboy · 2009. Nov. 13. (P), 21.12
most azon küszködöm, hogy legyen egy olyan input mezőm, aminek alap értéke szürkével hogy "Keresés", ha belekattintok eltűnik a szöveg, és feketére vált a betűszín (eddig kész), majd ha üresen kikattintok belőle, akkor váltson vissza az alaphelyzetre. a végét milyen mouse eseménnyel csináljam meg?
4

onblur

gex · 2009. Nov. 13. (P), 21.18
onblur, de ez stfw.