Avatar billede googolplex Novice
16. januar 2004 - 00:50 Der er 22 kommentarer og
1 løsning

Slette alt i den pågældende formular

Jeg har lavet følgende til at slette alt i min formular:

onclick="document.forms[0].keys.value='';"

Men det virker jo kun hvis det er den første formular på siden, hvordan refererer jeg til den pågældende formular uanset hvor den ligger i hiarkiet:

Sådan:

onclick="document.forms[this].keys.value='';"

Eller hvad ? (Har ikke lige mulighed for at teste her)
Avatar billede roenving Novice
16. januar 2004 - 00:52 #1
Har du det som en knap ?-)
Avatar billede googolplex Novice
16. januar 2004 - 00:54 #2
<input type="button" value="Slet alt" onclick="document.forms[0].keys.value='';" />

Gør det da nogen forskel ?
Avatar billede lalledenby Nybegynder
16. januar 2004 - 00:55 #3
hva med form.reset(); ?
Avatar billede roenving Novice
16. januar 2004 - 00:57 #4
Hvis det er et form-element på selve formen, kan du bare:

<input type="button" value="Slet alt" onclick="this.form.reset();" />
Avatar billede googolplex Novice
16. januar 2004 - 00:59 #5
Ah, den kendte jeg ikke :)

Men den fungere ikke som type="reset" der bare nulstiller vel ? Den SLETTER ALT?
Avatar billede roenving Novice
16. januar 2004 - 01:01 #6
Den nulstiller, og den virker som type="reset", jo !-)

-- men hvis du bare har et felt med værdi, bliver det this.form.keys.value='' ...
Avatar billede lalledenby Nybegynder
16. januar 2004 - 01:05 #7
heh, kan være jeg skal svare i hele script næste gang :)
Avatar billede roenving Novice
16. januar 2004 - 01:06 #8
Nu var det nu mest this.form jeg gik efter at vise !-)
Avatar billede googolplex Novice
16. januar 2004 - 01:15 #9
Jeg skal lige være helt sikker på at jeg har forstået det:

<input type="button" value="Slet alt" onclick="this.form.keys.value='';" />

Sletter ALT i hele formularen ?

Læg svar :)
Avatar billede lalledenby Nybegynder
16. januar 2004 - 01:18 #10
nej this.form.reset();

men eh.. det er vist ikke mig der var hurtigst :)
Avatar billede googolplex Novice
16. januar 2004 - 01:20 #11
Ja, men jeg vil ikke resette som i type="reset", jeg vil TØMME alle felter (og gerne nulstille selects, radios, checkboxes).
Avatar billede roenving Novice
16. januar 2004 - 01:20 #12
>>googolplex

.keys.value="" sletter _kun_ keys-feltet, .reset() nulstiller, dvs. hvis der er felter med en start-værdi, vil den komme tilbage ...
Avatar billede roenving Novice
16. januar 2004 - 01:27 #13
Uff, den er hårdere ...

-- så bliver det noget med:

function eraseVals(f){
for(i=0;f.elements.length>i;i++){
  switch(f.elements[i].type){
    case "text":
      f.elements[i].value = "";
      break;
    case "radio":
      f.elements[i].checked = false;
      break;
    case "checkbox":
      f.elements[i].checked = false;
      break;
    case "select":
      f.elements[i].selectedIndex = 0;
      f.elements[i].options[0].selected = true;
  }
}
}
Avatar billede lalledenby Nybegynder
16. januar 2004 - 01:28 #14
tømme så ingenting indhold? heller ingen selects?
Avatar billede googolplex Novice
16. januar 2004 - 01:40 #15
roenving: Tak :)

Og hvis det KUN skal gælde textares og input type="text/password" ?

Virker <input type="button" value="Slet alt" onclick="this.form.keys.value='';" /> så ikke, kan ikke forstå hvis det ikke gør... ?
Avatar billede roenving Novice
16. januar 2004 - 01:46 #16
Ca. sådan:

function eraseVals(f){
for(i=0;f.elements.length>i;i++){
  switch(f.elements[i].type){
    case "text":
      f.elements[i].value = "";
      break;
    case "textarea":
      f.elements[i].value = "";
      break;
    case "password":
      f.elements[i].value = "";
      break;
  }
}
}

form.keys adresserer eet felt, nemlig et felt, som har name="keys" ...
Avatar billede googolplex Novice
16. januar 2004 - 01:53 #17
roenving: Ja selvfølgelig, det var den sidste linie jeg havde misforstået, navnet på mit felt var 'keys', men det havde jeg glemt, så jeg troede det var noget javascript halløj der henførte til alle felter!

Læg et svar :)
Avatar billede googolplex Novice
16. januar 2004 - 01:54 #18
Og ja, det her har også noget at gøre med mit validerings-system :P
Avatar billede roenving Novice
16. januar 2004 - 01:59 #19
Jamen, så velbekomme '-)

-- og det med valideringssystemet kan jo ikke lige overraske !)
Avatar billede googolplex Novice
16. januar 2004 - 02:03 #20
roenving: Lige inden du smutter, hvis jeg nu vil SLETTE alt i alle 'text', 'password', 'file' og 'textarea', men vil RESETTE alle 'radio', 'checkbox' og 'selects', er det så således?:

function eraseVals(f){
for(i=0;f.elements.length>i;i++){
  switch(f.elements[i].type){
    case "text":
      f.elements[i].value = "";
      break;
    case "password":
      f.elements[i].value = "";
      break;
    case "textarea":
      f.elements[i].value = "";
      break;
    case "file":
      f.elements[i].value = "";
      break;
    case "radio":
      f.elements[i].reset();
      break;
    case "checkbox":
      f.elements[i].reset();
      break;
    case "select":
      f.elements[i].reset();
  }
}
}
Avatar billede roenving Novice
16. januar 2004 - 02:10 #21
-- du kan _ikke_ scripte på en type="file" ...

-- og reset() kan ikke bruges på form-elementer, men så kan du:

function eraseVals(f){
f.reset();
for(i=0;f.elements.length>i;i++){
  switch(f.elements[i].type){
    case "text":
      f.elements[i].value = "";
      break;
    case "password":
      f.elements[i].value = "";
      break;
    case "textarea":
      f.elements[i].value = "";
  }
}
}
Avatar billede angelenglen Nybegynder
02. marts 2004 - 12:40 #22
hvad gør man så hvis man gerne vil kunne slette indholdet af en type=file ?
Jeg har en form, hvor når man checker en checkbox, så skal den disable og "tømme" en type=file.... kan det ikke lade sig gøre?

indtil nu bruger jeg:

function togglefile() {
    if (document.upload.deleteimage.checked == true) {
    document.upload.file.disabled = true;
    } else {
    document.upload.file.disabled = false;
    }
}

det virker fint, men det tømmer ikke just indholdet af feltet :(
Avatar billede roenving Novice
03. marts 2004 - 00:31 #23
Nej, input type=file har du kun adgang til at aflæse, der kan du kun bruge form.reset() til at tømme den !-)
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