Event.observe(

Tags:    javascript

Jeg har en
Event.observe('Keywords', 'click', livesearch , false);

funktionen er en del af en funktion der søger i en database, efter et ord indtastet i et tekstfelt, det jeg gerne ville have var at man bare kunne trykke enter/return for at søge, kan kun få den til at virke ved at skrive click (så man skal klikke i tekstfeltet) eller Keyup så den søger efter hver indtastning, hvor finder man en liste over hvilke funktioner man kan bruge der?

Bjørn



10 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg går ud fra at du bruger prototypejs? Du skal lige sikre dig at du har implementeret det.:)

Fold kodeboks ind/udKode 

Skal omskrives til:
Fold kodeboks ind/udKode 

Og så tilføjer du dette til din init()
Fold kodeboks ind/udKode 


Hvis det ikke virker, så skriv hvilken linie fejlen er i, og hvad fejlen er. Det ville være en fordel at lægge det op på nettet, da jeg så bedre kan se ideen:)



"submit" måske?

Jeg har svært ved at gennemskue hvad du laver. Kan du give noget mere kode?



Du sætter ingen punktummer, så jeg er ikke helt sikker på at jeg har fået pointen.

Jeg tror problemet ligger i din måde at opbygge formen på.
Den burde se nogenlunde sådan her ud:
Fold kodeboks ind/udKode 

Jeg mistænker dig for at have en form uden "submit" elementet. Hvis det ikke er tilfældet laver du bare:

Event.observe('Form-ID', 'submit' livesearch, false);

Jeg håber det var til at forstå:)



Det var fordi det var et script jeg fandt. Sender lige koden, kan ik lige få det du siger til at virke, jeg får bare "udført men med fejl på siden", når jeg trykker på knappen

Fold kodeboks ind/udKode 






nu kan jeg se der sker noget, men den vil stadig ik skrive resultatet, har zippet det hele hvis du har lyst til at se http://dsr.kvl.dk/~bjoern/search.zip



Prøv at ændre
Event.observe('amazon', 'submit', livesearch , false);
Til
Event.observe('amazon', 'submit', function() { livesearch(); return false; } , false);



Det virker.. tusind tak, du skal nok få dine point, men gider du ik lige bruge 2sec på at fortælle hvad det var der gjorde det virkede?



Selvfølgelig:)
Fold kodeboks ind/udKode 

'amazon' er id'et på formen.
'submit' betyder at man den bliver observeret når formen submittes. Dvs. der trykkes enter eller der trykkes på submit knappen.
function() { livesearch(); return false; } kalder funktionen livesearch, som søger, og returnere derefter false. Hvis man returnerer false bliver formen ikke gennemført. Altså man tages til en ny side med informationerne om hvad der er skrevet i formen. Dette vil nemlig resultere i at siden bliver loadet igen, og koden derfor ikke virker.



ahh så hvis der bare stod return så ville den reloade?



Ja. Den ville også reloade med return true;:)



t