NorskFirefox Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 Hei Vanskelig å finne en passende tittel, men spørsmålet er; hvordan kan jeg få enter til å aktivere en type="button" framfor type="submit" i en form, og at dette kun skal skje om man skriver i et felt med id="tag". vanskelig forklart? Noen som kan komme med en fremgangsmåte/funksjon jeg kan bruke? Finnes også her Lenke til kommentar
luxus Skrevet 23. desember 2007 Del Skrevet 23. desember 2007 (endret) Okæi, her kommer min kode som jeg skrev ned nå på morgenkvisten :-) Den er ikke akkurat testet og den bærer preg av å være skrevet litt "fort og gæli" etter min mening Normalt når jeg skriver JS bruker jeg ikke så ofte å tilordne event-funksjoner rett på DOM-elementet slik som her (Les: aldri, når det er jeg som skriver JS koden fra starten av). Jeg bruker heller addEventListener / attachEvent på containerelementet, f.eks. form'en, eller evt. enda "høyere" opp. inputElement.onkeypress = function(e) { e = e || window.event; keyCode = e.which === undefined ? e.keyCode : e.which; if ( keyCode === 13 ) { // Enter er trykket inn document.getElementById("buttonElementetDitt").onclick(); // "Fyrer av" on-click // Litt usikker på om return false; vil holde her, i så fall må dette også kjøres: // preventDefault(e); // Stopper standard browser action // stopPropagation(e); // Stopper event bobling return false; } }; // Det er ikke sikker du trenger disse funksjonene: var stopPropagation = function(e) { e.cancelBubble = true; // IE if ( e.stopPropagation ) { // w3c e.stopPropagation(); } }; var preventDefault = function(e) { e.returnValue = false; // IE if ( e.preventDefault ) { // w3c e.preventDefault(); } }; Endret 23. desember 2007 av luxus Lenke til kommentar
NorskFirefox Skrevet 23. desember 2007 Forfatter Del Skrevet 23. desember 2007 Ok, og hvordan setter jeg den da på inputfeltet? (Kan så og si 0 i javascript ) Lenke til kommentar
luxus Skrevet 23. desember 2007 Del Skrevet 23. desember 2007 hehe, det står jo forsåvidt i koden jeg skrev :-) inputElement.onkeypress .. der inputElement altså er referanse til input elementet ditt som ligger i form'en) Dette kan du hente ut via document.getElementById() f.eks. Med andre ord: HTML kode: <input id="dittInputElement" type="text" value="" /> JS kode for å "få tak i" elementet: var inputElement = document.getElementById("dittInputElement"); Lenke til kommentar
NorskFirefox Skrevet 23. desember 2007 Forfatter Del Skrevet 23. desember 2007 (endret) Ok, prøver nå var inputElement = document.getElementById("tag1"); inputElement.onkeypress = function(e) { e = e || window.event; alert(e); keyCode = e.which === undefined ? e.keyCode : e.which; if ( keyCode === 13 ) { // Enter er trykket inn document.getElementById("tag_ad").onclick(); // "Fyrer av" on-click // Litt usikker på om return false; vil holde her, i så fall må dette også kjøres: // preventDefault(e); // Stopper standard browser action // stopPropagation(e); // Stopper event bobling return false; } }; for å teste hvordan det funker. Men får det ikke til å funke. HTML-koden jeg bruker: <form action="" method="post" enctype="multipart/form-data"> <input name="tag1" type="text" class="txt" id="tag1" style="float:none; width:210px; margin-top:3px;"> <input type="button" name="tag_ad" id="tag_ad" value="Legg til tag" class="btn" style="width:212px;" onClick="addEvent()"> </form> Du ser det sikkert ut av koden over, at når man trykker enter når man har aktivert Tag1 så ønsker jeg å kjøre "addEvent()"-funksjonen. Endret 23. desember 2007 av NorskFirefox Lenke til kommentar
LostOblivion Skrevet 25. desember 2007 Del Skrevet 25. desember 2007 (endret) Kan dere ikke bruke... <html> <head><title>BBCode</title></head> <body> <p>HTML BBCode</p> </body> </html> Endret 25. desember 2007 av LostOblivion Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå