Avatar billede s_raagaard Nybegynder
03. juni 2001 - 23:50 Der er 12 kommentarer og
1 løsning

Javascript submit function

jeg har DHTML edditing komponenten kørende i en Ifame som submitter via et textarea med copyValue(this);....følgende har jeg stående i form tagget:

<form name=\"OpretSag\" action=\"side.asp\" method=\"post\" ONSUBMIT=\"copyValue(this);\">

Til en funktion der skal tilføres siden skal jeg kunne submitte ved et onchange på en dropdown:

onchange=\"document.forms.OpretSag.submit();\"

Men den gennemfører ikke copyValue(this); når jeg tilføjer den i onchange sætningen:

onchange=\"document.forms.OpretSag.submit();copyValue(this);\"

Hvordan får jeg den til det?

/søren
Avatar billede olebole Juniormester
03. juni 2001 - 23:55 #1
<ole>
Mon ikke det ville være en god idé at kopiere din <iframe>\'s innerHTML over til dit textarea, INDEN du submit\'er?  ;o)

    onchange=\"copyValue(this);document.forms.OpretSag.submit();\"

/mvh
</bole>
Avatar billede s_raagaard Nybegynder
04. juni 2001 - 00:03 #2
Joooo... det har jeg også prøvet, men den vil så ikke gennemfører document.forms.OpretSag.submit();

Så det er som om at den kun tager den første function med ved onchange....?

/søren
Avatar billede olebole Juniormester
04. juni 2001 - 00:14 #3
Jamen, kære Søren...så prøv da:

function mySubmit(which) {
  copyValue(which);
  document.forms.OpretSag.submit();
}

...og så:

onchange=\"mySubmit(this);\"

;o)
Jeg tror nu ikke, det hjælper - og hvis ikke, må jeg se noget mere kode. Du må gerne sende det til mig via mail, hvis du ikke vil have det op at hænge her. Jeg skal nok på en diskret måde beskrive løsningen her på sitet, så vi ikke overtræder Ekspertens regler  ;o)
/mvh
Avatar billede olebole Juniormester
04. juni 2001 - 00:23 #4
Ehhhhh.....\'this\' i \'copyValue(this)\' referer til select\'en, når funktionens kald ligger på dennes onchange-handler.
Dit textarea har sikker \'visibility:hidden\' eller \'display:none\'. Prøv at give det \'visibility:visible\' eller \'display:block\' og fyr så kun \'copyValue(this)\' af på select\'ens onchange. Kommer der så tekst i dit textarea?
Ellers må du undersøge, hvad \'this\' skal refere til og skrive det ind i dit funktions kald. Alternativt vil jeg gerne se på din kode. Jeg er for tiden selv i gang med et stoooort CMS, der gør brug af komponenten, så jeg har et rimeligt overblik over den  ;o)
/mvh
Avatar billede olebole Juniormester
04. juni 2001 - 00:24 #5
Arrggghhh....jeg er vist træt og kan ikke rigtig sdavø...!  :oD
Avatar billede s_raagaard Nybegynder
04. juni 2001 - 00:36 #6
Det er fordi jeg skal lave nogen onchange opdateringer imellem nogen selectboxe, når man vælger noget i den ene vises noget i den anden...:-)

Så skal komponenten kunne holde på den værdi/text der er skrevet i Body på Iframen.
Det virker også fint nok når jeg anvender en secondær submit knap...men jeg vil ha\' at det skal være ved onchange på selectboxen...

Jeg har prøvet at skrive value\'en ud på siden, det er jo det samme som visible på textarea, men du har ret det skrives ikke ud.... :o|

Jeg vil rode lidt videre i din tråd....og ellers vil jeg meget gerne benytte mig af at sende dig lidt mere kode.

/søren
Avatar billede s_raagaard Nybegynder
04. juni 2001 - 00:44 #7
Den refererer til denne:

<SCRIPT>
function copyValue(f) {
f.elements.EditorValue.value = \"\" + myEditor.document.body.innerHTML + \"\";
}
</SCRIPT>

/Søren
Avatar billede olebole Juniormester
04. juni 2001 - 00:55 #8
Ahahhhh....så skal du kalde med:

    onchange=\"copyValue(this.form);document.forms.OpretSag.submit();\"

HVIS din select befinder sig i samme form som din select (Jeg går udfra \'EditorValue\' er navnet på dit textarea).

Ellers kan du kalde med:

    onchange=\"copyValue(document.formNavn);document.forms.OpretSag.submit();\"

/mvh
Avatar billede olebole Juniormester
04. juni 2001 - 00:58 #9
Første eksempel kan også skrives:
    onchange=\"copyValue(this.form);this.form.submit();\"
Stadig HVIS selecten og textarea\'et ligger i samme form.
Avatar billede s_raagaard Nybegynder
04. juni 2001 - 01:07 #10
alllllright det virker.....fuldstændig gennemtjekket....

tak for det Ole

/søren
Avatar billede olebole Juniormester
04. juni 2001 - 01:08 #11
Nu har jeg fået et par filer og jeg holder fast på min:
      onchange=\"copyValue(this.form);this.form.submit();\"

Til gengæld har du i dit form-tag en onsubmit-handler, der fyrer \'copyValue(this);\' af.
Her refererer \'this\' - som det skal - til formen (\'this\' refererer altid til det element, det er tilknyttet), men en onsubmit-handler fyrer kun af, når du submit\'er med en submitknap...ikke når du submit\'er via JavaScript. Bare lidt ekstra \'forbrugeroplysning\'  ;o)
/mvh
Avatar billede olebole Juniormester
04. juni 2001 - 01:09 #12
Hehe...der krydsede vi vist lige  :oD
Det var da godt, du fandt ud af det - og tak for points. Nu vil jeg zq hjem og sove  ;)
/mvh
Avatar billede s_raagaard Nybegynder
04. juni 2001 - 01:11 #13
Jeg er faktisk blevet en del klogere på dette, takket være dette spørgsmål og din hjælp....der er lige et par brikker der er faldet på plads ;-)
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