Avatar billede Slettet bruger
18. september 2006 - 18:53 Der er 9 kommentarer og
1 løsning

Skift mellem felter med piltaster

Skift mellem felter med piltaster  200 point fra kolsbjerg 



X Hej

Jeg er ved at lave en community site, og da en admin skal indtaste mange oplysninger på engang vil jeg gerne have han kan skifte mellem textboxene i en for. fx.

[code]
<form action="post.php" method="post" name='send'>
<table width="473" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="8%"> Navn: </td>
    <td width="38%"><input name="navn" type="text" /></td>
    <td width="24%">Efternavn:</td>
    <td width="30%"><input name="efternavn" type="text" id="efternavn" /></td>
  </tr>
  <tr>
    <td>Alder</td>
    <td><input name="alder" type="text" id="alder" /></td>
    <td>f&oslash;dt d. </td>
    <td><input name="fodt_d" type="text" id="fodt_d" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="3"><input name="send" type="submit" value="Send" /></td>
  </tr>
</table>
</form>
[/code]

hvordan laver man så man kan skifte mellem felterne med pil tasterne i stedet for at bruge "TAB"

på forhånd tak! :P
Avatar billede Slettet bruger
18. september 2006 - 19:01 #1
Med fare for at lyde som et dumt svin, vil jeg gerne påpege, at det ikke er tilladt at have flere åbne, ens spørgsmål herinde på eksperten.

Derudover skal du nok kigge på noget med focus og onkeypress.. Evt. søge på Google :)
Avatar billede Slettet bruger
18. september 2006 - 19:29 #2
Sådan. har lukket de andre. hmm jeg har næsten ikke rodet med javesctipts

nogen der evt kan lave et eksempel som jeg så selv kan lave videre på
Avatar billede jakoba Nybegynder
19. september 2006 - 15:47 #3
her: http://www.htmlcodetutorial.com/forms/_INPUT_TABINDEX.html

Normalt vil tab(ulator) tasten tage dig fra 'aktivt element' (fx link, formfelt) til aktivt element i en sekvens svarende til den rækkefølge de aktive elementer forekommer på siden (oppefra og ned)

Når du har fokus på et formfelt med attibutten tabindes ændres den regel så det næste felt der kommer bliver det der har en tabindex værdi der er een højere end det nuværende felt.

<form action="post.php" method="post" name='send'>
<table width="473" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="8%"> Navn: </td>
    <td width="38%"><input name="navn" type="text" tabindex=1 /></td>
    <td width="24%">Efternavn:</td>
    <td width="30%"><input name="efternavn" type="text" id="efternavn" tabindex=5 /></td>
  </tr>
  <tr>
    <td>Alder</td>
    <td><input name="alder" type="text" id="alder" tabindex=2 /></td>
    <td>f&oslash;dt d. </td>
    <td><input name="fodt_d" type="text" id="fodt_d" tabindex=3 /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="3"><input name="send" type="submit" value="Send" tabindex=4 /></td>
  </tr>
</table>
</form>

Brug det med omtanke, nårsomhelst browseren ikke 'gør som forventet' må du regne med at brugeren begynder at føle sig utryg (og foretrækker at handle i en anden butik)

Derudover kan en dårligt valgt rækkefølge få brugeren til at udfylde forkert. eksempel: I exemplet ovenfor vil brugeren nok ikke udfylde efternavnet fordi sekvensen fører ham til 'submit' før den viser ham efternavn feltet.

mvh JakobA
Avatar billede jakoba Nybegynder
19. september 2006 - 16:02 #4
Det kan gøres med piltaster og onkeydown events, men jeg vil anbefale at du IKKE bruger piltaster til det, fordi piltaster jo allerede har en anden funktion når du er igang med at udfylde et felt (gå til forrig/næste bogstav) den funktion ville du miste.
Avatar billede Slettet bruger
20. september 2006 - 02:52 #5
Prøver lige på en anden måde.

<?

include("config.php");
if($action=="send") {
$antal = 4;
for($i=1;$i<=$antal;$i++) {
  if ($fra[$i] != '') {
  echo "nr. ".$nr[$i]." |  navn ".$navn[$i]." | fra ".$fra[$i]."- til ".$til[$i]."- pause ".$pause[$i]."<br>";
  // SLET FELT:!!! HER!!
  }
}
}
else {



$sql = mysql_query("select * from users order by userID") or die(mysql_error());
echo "
<form action='?action=send' method='post'>
<table width='640' border='0' cellspacing='2' cellpadding='0'>
  <tr>
    <td align='center'>Nr.</td>
    <td align='center'>Navn</td>
    <td align='center'>Fra</td>
    <td align='center'>Til</td>
    <td align='center'>Pause</td>
  </tr>
";
while ($vagter = mysql_fetch_assoc($sql)) {
$userID = $vagter[userID];
echo "

  <tr>
    <td>
    <input name='userID[$userID]' type='hidden' value='$vagter[userID]'>
    <input name='nr[$userID]' type='hidden' value='$vagter[nr]'>$vagter[nr]</td>
    <td><input name='navn[$userID]' type='hidden' value='$vagter[navn]'>$vagter[navn]</td>
    <td><input name='fra[$userID]' type='text' value='$vagter[fra]'></td>
    <td><input name='til[$userID]' type='text' value='$vagter[til]'></td>
    <td><input name='pause[$userID]' type='text' value='$vagter[pause]'></td>
  </tr>
  ";
}

echo "</table>
<input type='submit' value='Send'>
</form>";
}
?>

har lige lavet det hurtigt. det er et vagt system. hvor ham der indsætter vagt skal kunne navigere hurtigt rundt. når han har indtastet "fra" kan han trykke piltas -> og komme til "til" og piltas -> igen og komme til "pause"

og hvis han vil rette noget i brugeren neden under kan han trykke piltas ned og komme nedad

se scriptet i funktion her: http://www.csguide.dk/test_mcnet_vagter/indsaet_vagter.php
Avatar billede Slettet bruger
20. september 2006 - 03:30 #6
Har næsten fået det til at virke men den melder fejl når man når til sidst box og igen trykker -> kan man gøre så den ikke gør det
Avatar billede jakoba Nybegynder
20. september 2006 - 11:51 #7
Det er svært at svare på når du ikke fortæller hvad det er du har fået til at virke. er det tabindex-attributer, eller onkeydown med javascript, eller bare tab-tasten

hvis du har brugt tabindex burde der ikke komme nogen fejl, det ku ske hvis du har rod i nummerordenen så der fx ikke er nogen nr 2 eller også to tabindex der har fået samme nummer.
Avatar billede Slettet bruger
20. september 2006 - 17:13 #8
det er det onkeydown. hvis du kigger i kilde koden på overstående link kan du se hvordan det er lavet
Avatar billede Slettet bruger
04. oktober 2006 - 14:26 #9
ikke nogen der kan hjælpe ??
Avatar billede Slettet bruger
09. oktober 2006 - 22:03 #10
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester