Avatar billede Slettet bruger
03. juni 1999 - 10:31 Der er 13 kommentarer og
1 løsning

Set focus på felt i menu

Hejsa eksperter!!

Jeg skal lave lidt validering på nogle felter i en form. Feltet må kun indeholde tal og brugeren skal ikke have lov til at forlade felte før der står et gyldigttal i feltet. Jeg har lavet en function der ser sådan ud:

function validering(str) {
ok = false;
for(i=0; (i <= str.length - 1) && !    ok; i++) {
      if ((str.charAt(i) >= ''0'') &&        (str.charAt(i) <= ''9'')) {
     
} else document.menu.nummer1.focus = prompt(''Du skal indsate et tal f.eks. 1 eller 5'', 1) * 1;}}

Undskyld det står lidt rodet. Det jeg ønsker er at det tal der indtastes i prompt skal tildeles mit felt i formen eller hvis man bare kan lave en alert og derefter sætte focus på feletet igen.

På forhånd mange tak

Samuel Sayilgan
Avatar billede ricki Nybegynder
03. juni 1999 - 10:43 #1
du kan begge dele:
1.
document.menu.nummer1.value = prompt('Du skal indsate et tal f.eks. 1 eller 5', 1) * 1;
2.
alert('Du skal indsate et tal f.eks. 1 eller 5');
document.menu.nummer1.focus;
Avatar billede Slettet bruger
03. juni 1999 - 10:53 #2
Jeg har prøvet begge ingen virker!!

Ad 1. den skriver NaN i feltet!

Ad 2. der sker ingen ting???

Med venlig hilsen

Samuel
Avatar billede ricki Nybegynder
03. juni 1999 - 10:56 #3
hmmm hvilken browser bruger du?
-har du evt. en adresse man kan se det på?
Avatar billede Slettet bruger
03. juni 1999 - 11:05 #4
IE 5.0, desværre ikke, der er indblandet noget ASP og jeg har ikke et sted hvor jeg kan kærer ASP. Men jeg prøver lige at cutte ASP´en :
<html>

<head>

  <SCRIPT>

  function validering(str) {
    ok = false;
    for(i=0; (i <= str.length - 1) && ! ok; i++) {
      if ((str.charAt(i) >= '0') && (str.charAt(i) <= '9')) {
       
      } else document.menu.nummer1.focus;
       
    }
 
  }
</SCRIPT>

</head>

<body>

<form name="menu" action="bestilling.asp" method="post">

<table width="700" height="0" border="0" cellpadding="2" cellspacing="0" align="center">

  <tr>
    <td colspan="9" align="right">
      <i><b>Menu kort</b></i>
    </td>
  </tr>

  <tr>
    <td valign="middle" colspan="6">
      <hr noshade>
    </td>
  </tr>

  <tr>
    <td colspan="9">
      <b>Vælg det antal pizzaer du ønsker:</b>
      <br>
    </td>
  </tr>

<tr colspan="5" align=left valign=top> 
<th>Nummer</th><th>Navn</th><th>Beskrivelse</th><th>Pris</th><th>Antal</th></tr>

 
  <tr colspan="5" align=left valign=top> 
    <td bgcolor="#5dcd54"valign="top">1</td>
    <td bgcolor="#5dcd54" valign="top">Juventus</td>
    <td bgcolor="#5dcd54" valign="top">Ost, Oksekød</td>
    <td bgcolor="#5dcd54" valign="top">45</td>
    <td bgcolor="#5dcb54"><input type="text" name="nummer1" size="2" maxlength="2" value="0" onChange="validering(document.menu.nummer1.value)"</input></td>
  </tr>     

 
</table>
<br>
<center>
<input type="submit" value="Næste">
<input type="reset" name="Reset" value="Reset">
</center>
</form>

</body>
</html>
Avatar billede Slettet bruger
03. juni 1999 - 11:10 #5
Ja, det virker i Nescape 3.01

med følgende:
document.menu.nummer1.value = prompt('Du skal indsate et tal f.eks. 1 eller 5', 1);
Avatar billede ricki Nybegynder
03. juni 1999 - 11:22 #6
hov ups undskyld du skal have et det hedder focus() og ikke bare focus :-)
Avatar billede Slettet bruger
03. juni 1999 - 11:28 #7
Ja nu virker også focus() i netscape, men stadigvæk ingenting i IE, problemt er at alt mit andet kode er "optimert" til IE. Hvordan får jeg så kontrolleret de skide felter??
Avatar billede ricki Nybegynder
03. juni 1999 - 11:35 #8
Det lyder mystisk at det ikke virker i IE...

Jeg fatter ikke hvorfor focus() ikke vil virke i IE, men det med:
document.menu.nummer1.value = prompt('Du skal indsate et tal f.eks. 1 eller 5', 1); det virker da i IE
Avatar billede Slettet bruger
03. juni 1999 - 11:40 #9
document.menu.nummer1.value = prompt('Du skal indsate et tal f.eks. 1 eller 5', 1); det virker da i IE virker ikke i IE5.0

Hvad med at løse der med en onSubmit= genneløb alle felter hvis ok så forsæt ellers prøv igen og bliv på siden!
Avatar billede ricki Nybegynder
03. juni 1999 - 11:42 #10
Det virker i hvert fald i den version af IE5 jeg bruger...
Avatar billede Slettet bruger
03. juni 1999 - 11:48 #11
Hvis jeg bruger onblur virker det!!! både i IE og Netabe
Avatar billede Slettet bruger
03. juni 1999 - 11:50 #12
Til ricki

Iøvrig tak for hjælpen du har fortjent de 60 point så lav et svar og du får dem!!
Avatar billede ricki Nybegynder
03. juni 1999 - 11:52 #13
okay
Avatar billede Slettet bruger
03. juni 1999 - 12:00 #14
Tak
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