Avatar billede apromis Praktikant
02. august 2010 - 16:55 Der er 16 kommentarer og
1 løsning

reset form virker ikke

Hej alle.
Har store problemer med en reset function og har været mange løsninger igennem.

Jeg prøver at resette alle input felter i formen data ved load, f.eks via denne :
<body onLoad="java script:document.forms[0].reset()">
Men det lykkes bare ikke :(.

Brugeren skal ikke aktivt trykke på en knap, og der er data i felterne.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>index</title>
</head>

<body onLoad="java script:document.forms[0].reset()">
<form name="data" action="index.php" method="post">
<input type="text3" id="producent1" name="producent1" value="Faxe"/>
  <input type="submit" value="Gem produkter" />
  <input type="reset" value="rest" />
  Din ip er : ::1.</form>
  </body>
  </html>

Er en test af min kode som hellere ikke virker :(.

Kan nogle se fejlen ?
På forhånd tak
Avatar billede kgkg Nybegynder
02. august 2010 - 19:41 #1
java script er i et ord, altså det skal stå javascript
Avatar billede apromis Praktikant
02. august 2010 - 20:00 #2
Ved ikke lige hvordan det mellemrum kom ind, men det hvert fald ikke sådan min fil ser ud :).
Det er dermed ikke grundet til det ikke virker :(
Avatar billede majbom Novice
02. august 2010 - 22:00 #3
du kan ikke regne med at den kan "læse" formen ved onload, prøv derimod at smid reset-kaldet ind som det sidste i din html - lige inden </body>

det med at javascript bliver delt op er en kendt fejl her på sitet jeg ved dog ikke hvorfor den ikke gør det i dit tilfælde #1 - måske fordi du har skrevet det med <b>-tags
Avatar billede majbom Novice
02. august 2010 - 22:02 #4
hmm der lavede den ikke mellemrum...

hvad så med her:

<body onload="java script:document.forms[0].reset">

?

-> #0 - det er forresten dobbeltkonfekt (unødvendigt) at skrive "java script:" foran et funktionskald og lignende i event-attributer - det skal kun bruges i f.eks. href-attributer og andre attributer der normalt ville kalde en ny side...
Avatar billede apromis Praktikant
02. august 2010 - 22:07 #5
Hej Splazz,
Forstår ikke helt hvad du mener.
Hvordan skal jeg smide den ind før body ? Skal jo have et tag den skal stå i ?
Avatar billede majbom Novice
02. august 2010 - 22:22 #6
<script type="text/javascript">
document.forms[0].reset();
</script>
Avatar billede intenz Novice
02. august 2010 - 23:34 #7
Du har sat din værdi af feltet til: value="Faxe".

Når du kører reset() vil formen skrive 'Faxe' da det er dens default værdi (som du har sat). Hvis du vil have, at reset() skal 'tømme' feltet skal du enten sætte value="", eller skrive din egen reset funktion.
Avatar billede apromis Praktikant
03. august 2010 - 11:46 #8
Splazz--> Den har jeg desværre også prøvet af:(

Internz --> Øv bøv. Jeg skal have value udfyldt på forhånd. HAr du et link hvor jeg kan se et f.eks. på denne type script ?
Avatar billede majbom Novice
03. august 2010 - 16:47 #9
det er jo bare at lave et script der sætter value=""

men hvorfor skal der være en value i feltet, hvis den alligevel skal fjernes ved sidevisning?
Avatar billede apromis Praktikant
04. august 2010 - 10:27 #10
JEg kan desværre ikke lave value="" da det ville kræve en kæmpe ændring i min php kode :(.
Derfor skal jeg have det løst i javascript desværre
Avatar billede majbom Novice
04. august 2010 - 14:38 #11
ja, det er det jeg mener; lav en funktion i javascript der sætter value=""
Avatar billede apromis Praktikant
04. august 2010 - 14:50 #12
Langt om længe har jeg fået det til at lykkes.
HVis i vil have points for forsøget kan i svare :)

Min løsning er :
show = 0
function vis(i){
if (show>0) gem(show)

if (document.layers)
  document.layers["image"+i].visibility='show';
else if (document.all)
  document.all["image"+i].style.visibility='visible';
else if (document.getElementById)
  document.getElementById("image"+i).style.visibility='visible';
}

Men hvis jeg kalder funktionen nedenunder virker det ikke, så kaldet er i body load :)
Avatar billede majbom Novice
04. august 2010 - 22:24 #13
jeg forstår ikke hvordan det hænger sammen med din form?
Avatar billede apromis Praktikant
05. august 2010 - 00:19 #14
Det kan jeg da godt forstå du ikke kan.
Har jo postet den forkerte kode hehe :)
Avatar billede majbom Novice
05. august 2010 - 06:53 #15
hvad var løsningen så?
Avatar billede apromis Praktikant
05. august 2010 - 10:47 #16
function noValues(frm){
  for(i=0;i<frm.elements.length;i++){
      if(frm.elements[i].type=="text"){
        frm.elements[i].value="";
      }
    }
  }


MEn funtionen køres først i body som onload :)
Avatar billede majbom Novice
05. august 2010 - 17:55 #17
super...
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