20. oktober 2007 - 13:37Der er
27 kommentarer og 1 løsning
Er der nogen der ved hvordan den her fåes til at virke ?
<script type="text/javascript"> /** * Allows moving around inputs/select by Ctrl+arrows * * @param object event data */ function onKeyDownArrowsHandler(e) { e = e||window.event; var o = (e.srcElement||e.target); if (!o) return; if (o.tagName != "TEXTAREA" && o.tagName != "INPUT" && o.tagName != "SELECT") return; if (navigator.userAgent.toLowerCase().indexOf('applewebkit/') != -1) { if (e.ctrlKey || e.shiftKey || !e.altKey) return; } else { if (!e.ctrlKey || e.shiftKey || e.altKey) return; } if (!o.id) return;
var pos = o.id.split("_"); if (pos[0] != "field" || typeof pos[2] == "undefined") return;
var x = pos[2], y=pos[1];
// skip non existent fields for (i=0; i<10; i++) { if (switch_movement) { switch(e.keyCode) { case 38: x--; break; // up case 40: x++; break; // down case 37: y--; break; // left case 39: y++; break; // right default: return; } } else { switch(e.keyCode) { case 38: y--; break; // up case 40: y++; break; // down case 37: x--; break; // left case 39: x++; break; // right default: return; } }
var id = "field_" + y + "_" + x; var nO = document.getElementById(id); if (!nO) { var id = "field_" + y + "_" + x + "_0"; var nO = document.getElementById(id); } if (nO) break; }
if (!nO) return; nO.focus(); if (nO.tagName != 'SELECT') { nO.select(); } e.returnValue = false; } </script>
Du må prøve at kikke der, hvor du hentede scriptet - og se, hvordan de har navngivet felterne. Dels skal de vel have en name-attribut for at kunne sende noget til en server - og dels skal de have en id for atscriptet kan fungere. Noget à la: 'field_2_4' - og 'field_2_4_0'
- i det hele taget, kan koden i (20/10-2007 14:44:30) eller (20/10-2007 14:50:36) ikke være den, der bliver skrevet ud af de kode, du viste i (20/10-2007 14:42:25).
Hvis vi skal hjælpe, må du tage dit problem ligeså seriøst, som vi gør :)
Jeg forstår ikke, hvad du mener med: "Det var der ikke - så koden skal omskrives til at virke med feks det her:"
Der, hvor scriptet har fungeret, har man med statsgaranti brugt id'er på felterne. Ellers kan scriptet simpelthen ikke virke. Uden en name-attribut kan formen ikke sende noget til en server.
Der er en del, der ganske enkelt ikke kan passe i dette spørgsmål. Det er stortset umuligt at hjælpe, hvis det, du skriver, ikke passer :)
Du har ret - men forstil dig en form hvor du har 18 input felter vandret i 10 rækker. hvor man så skulle være istand til at flytte rundt i felterne med ctrl arrow højre - venstre - up - down. Det stykke kode har jeg ikke da det er en del af en støre ASP del.
(20/10-2007 14:59:07) >> Ja, det forestiller jeg mig så - og i mellemtiden forestiller du dig spørgsmålet: "Når nu jeg kommer til Athens bygrænse, skal jeg så dreje til højre eller til venstre ... og du må ikke kikke på et kort"
- så ved du nogenlunde, hvor vi er henne med denne tråd ;o)
"body delen med form etc skal først generes og så tilpasses til scriptet." >> Vil du lave en gearkasse og så bygge bilen udenom dén?
Nej det kan du have ret i ! - jeg fandt gearkassen - og nu skal jeg prøve at bygge en bil der passer til gearkassen - eller om du vil rette i gearkassen så den passer til bilen.
"eller om du vil rette i gearkassen så den passer til bilen." >> Jamen, det er jo lige præcis, hvad jeg så gerne ville - men jeg må/kan ikke se din arbejdstegning til bilen. Så er det altså ret svært at hjælpe med at tilpasse gearkassen ;o)
Der er også nogle 'særheder' i scriptet. Hvad er f.eks: 'switch_movement' - og hvor kommer den fra? En anden ting er, at du skal bruge 'onkeydown' i stedet for 'onkeypress' ... men det får ikke scriptet til at virke i sig selv :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.