Avatar billede heyn Nybegynder
16. september 2005 - 12:56 Der er 11 kommentarer og
1 løsning

Javascript, (sikkert også html). Mange data fra form skal overfør

Når jeg stiller spørgsmål til eksperten.dk testen formularen for om den er r et udfyldt før den afsendes.
Når jeg prøver at anvende submit-knap med et onclick("test_data()") kaldes siden selv om funktionen ikke godkender data.
Jeg har tidligere klaret mig med en input button-knap, hvor onclick kalder en funktion der kun udfører dokument.location = ny_side.php?DATA hvis alle data er ok. Nu står jeg med mange data i tekststrenge, så src bliver meget stor og med mellemrum.

Mvh Christian
Avatar billede heyn Nybegynder
16. september 2005 - 13:01 #1
Hovsa!
Når jeg nu læser mit eget spørgsmål så skal det lige afklares at det er mine og ikke eksperten.dk's sider der giver problemer.
Avatar billede mikze Nybegynder
16. september 2005 - 13:01 #2
Der er to måder:

1:

bare lav din button som submit .. derefter sætter du et NAME på din form:

<form name="fr">

og så når du har kørt igennem med javascript som validerer, så slutter du med:

document.fr.submit();
Avatar billede mikze Nybegynder
16. september 2005 - 13:03 #3
2:
Du sætter denne kode ONSUBMIT ind på din submitknap..

<input type="submit" onsubmit="return validate()">


Og så skal du sikre dig at validate slutter som endten TRUE eller FALSE .. FX:

function validate() {
if (noget her) {
  return false
}
else {
return true
}
Avatar billede heyn Nybegynder
16. september 2005 - 14:02 #4
Ah haae?
- onsubmit("return en_funktion()") - Jeg vidste ikke at return skulle med.

onsubmit() - Den kendte jeg ikke - (jeg har ikke programmeret i et stykke tid). Den forekommer ikke i min editor (HTMLPad 2005). Det er vel ikke en af disse specielle Explorer-funktioner som ingen andre har?
Det fungerer stadig ikke. Dels bliver den nye side indlæst, selv om funktionen returnerer false.
Desuden hentes en gammel side. Jeg genererer min min sti på følgende måde:
<form action="opret_sag_ex.php?ny=<?php echo rand(); ?>">.
Jeg har tjekket i html-kildekoden og der genereres et anderledes tal hver gang.
Når jeg klikker på submit hentes en gammel side.

mvh Christian
Avatar billede roenving Novice
16. september 2005 - 14:38 #5
onsubmit på en button ?-)

-- den hører kun til på form-elementet, og der skal den, som mikze ellers rigtigt anfører helst returnere true eller false, så du på den måde kan kontrollere afsendelsen ...

-- en typisk konfiguration kunne være:

<form action="..." method="post" onsubmit="return valider(this);">

  <!-- felter iøvrigt -->

  <input type="submit" value="Afsend nu">
</form>

-- så kan valideringen f.eks. se sådan ud:

<script type="text/javascript">
function valider(f){
  if(f.feltnavn.value=""){
    alert('Du skal udfylde feltnavn');
    f.feltnavn.focus();
    return false;
  }
  if(f.postnr.value.length!=4){
    alert('Du skal udfylde postnr med et postnummer i Danmark');
    f.postnr.focus();
    return false;
  }
  return true;
}
</script>
Avatar billede olebole Juniormester
16. september 2005 - 14:38 #6
<ole>

onsubmit er en standardiseret event-handler og har været det i mange år, så den er der ikke problemer med i nogen browser ... men måske i ufærdige editors.

onsubmit-event'en fyres altid af, hvis formen ikke submittes via JavaScript - men ved tryk på en submitknap eller ved at trykke 'Return' i et tekst-input.

Returneres false i onsubmit-handleren, forhindres formen i at submitte - hvis event'en fyres af, naturligvis  ;o)

/mvh
</bole>
Avatar billede heyn Nybegynder
25. oktober 2005 - 15:36 #7
->> Roenving
Ah - Jeg fandt ud af det:
onsubmit() i <form> ok - forbudt i <input type="submit">. Her gælder kun onclick().
Har du nogle svar på dette?
Christian
Avatar billede olebole Juniormester
26. oktober 2005 - 01:49 #8
Der er en hel del events, der kan blive fyret af på et input-felt eller -knap, men onsubmit hører ikke til dem ... som roenving skrev  :)

At kalde en submit-knap for 'submit' er nu også en fejl, der somregel resulterer i hovedbrud. 'submit' er et beskyttet ord i JavaScript - og bør _aldrig_ benyttes som identifier  ;o)
Avatar billede olebole Juniormester
26. oktober 2005 - 01:50 #9
- og det var vist mig, der så forkert ... ingen her har jo kaldt en submit-knap for 'submit'  ;D
Avatar billede heyn Nybegynder
31. januar 2006 - 15:36 #10
Undskyld kommentaren kommer lidt sent. Den gang lærte nybegynderen 'heyn' meget! Smider i ikke et SVAR?
Mvh Christian
Avatar billede roenving Novice
03. februar 2006 - 17:33 #11
Velbekomme '-)
Avatar billede roenving Novice
13. februar 2006 - 14:15 #12
-- og tak for point ;~}
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