Avatar billede tornado Nybegynder
27. september 2000 - 08:32 Der er 7 kommentarer og
1 løsning

Hvilket form kaldes javascriptet fra (i NN)

Jeg har en stump kode, der virker:

<script language=\"javascript\">
  function eat_someone(formen) {
      formen.action = \"gryde.asp\";
      formen.submit();
  }

  function eat_someone2(formen) {
      formen.action = \"grydelap.asp\";
      formen.submit();
  }
</script>


<form name=\"julehans\" method=post>
  <input type=hidden NAME=\"navn\" value=\"Hans\">
  <input type=button name=\"eat\" value=\"Æd\" onclick=\"eat_someone(this.form)\">Æd Hans<p>
</form>

<form name=\"julegrete\" method=post>
  <input type=hidden NAME=\"navn\" value=\"Grete\">
  <input type=button name=\"eat\" value=\"Æd\" onclick=\"eat_someone2(this.form)\">Æd Grete<p>
</form>

Problemet er at hvis jeg laver:

  <input type=button name=\"eat\" value=\"Æd\" onclick=\"eat_someone(this.form)\">Æd Hans<p>

om til (et billede-send-knap):

  <input type=image src=\"hans_knap.gif\" name=\"eat\" value=\"Æd\" onclick=\"eat_someone(this.form)\">Æd Hans<p>

.. kører det fint i Internet Explorer, men det kører SLET ikke Netscape Navigator. Netscape loader bare den samme side ind igen (som om <FORM action=\"\"> - altså bliver onclick() ikke udført)

Any ideas?
Avatar billede helle_fred Nybegynder
27. september 2000 - 08:49 #1
Så vidt jeg ved findes der ikke noget input-element af typen \"image\". Kan du ikke bare lave link på et billede?
Avatar billede tornado Nybegynder
27. september 2000 - 09:00 #2
Der findes et input-element af typen Image alle de steder, hvor der tilbydes HTML hjælp.. Også wysiwyg-html-editorer har denne input-element...

Har en <A HREF..> eventet onclick() og kan den bruges som om det var en submit-funktion? - altså hvis jeg kalder et javascript fra en A HREF, ved scriptet så hvilken FORM, den blev kaldt ud fra (se eksemplet)?
Avatar billede helle_fred Nybegynder
27. september 2000 - 09:06 #3
Jeg mener bestemt ikke at input-elementet af typen image kan være standard - og Netscape er mere restriktiv end Explorer. Til gengæld mener jeg nok, der er en mulighed for at iklæde en knap et baggrundsbillede med en stylesheet.

Ja, link-elementet har også en onClick-eventhandler, og du kan referere til form-elementet. Det hedder i dit script \"document.julegrete\".
Avatar billede tornado Nybegynder
27. september 2000 - 09:29 #4
<A HREF=\"\" onclick=\"eat_someone(document.julegrete)\"> dur ikke - den prøver hele tiden at køre det HREF peger på.

Men:

<form name=\"julegrete\" method=post>
  <input type=hidden NAME=\"navn\" value=\"Grete\">
  <A HREF=\"java script:eat_someone2(document.julegrete)\"><IMG SRC=\"/butik/grafik/kurv.gif\"></A><P>
</form>

.. virker fint, men er det ikke muligt at gøre den dynamisk (ligesom this.form)? - this.form findes ihvertfald ikke når man ikke bruger onclick.
Avatar billede helle_fred Nybegynder
27. september 2000 - 09:34 #5
Du kan skrive:
<A HREF=\"#\" onclick=\"eat_someone(document.julegrete)\">

eller afslutte onclick-handleren med

return true

hvis link-siden ikke skal hentes.

Nej, \"this.form\" virker ikke mere - til gengæld kan du kalde din form for

document.julegrete

Du skal iøvrigt være forsigtig med brug af æ,ø og å både i JavaScript og HTML - det kan gå galt på nogle systemer.

Avatar billede helle_fred Nybegynder
27. september 2000 - 09:37 #6
\"this\" refererer til det objekt, du \"står\" i. Når du \"står i et form-element, har objektet en reference til den form, den er en del af. En sådan reference har et link-objekt ikke - Links er jo normalt ikke en del af en form.
Avatar billede olebole Juniormester
27. september 2000 - 14:37 #7
<ole>
helle_fred >> Selvfølgelig er <input type=\"image\"> da standard - og har været det længe! Se evt.:
    http://developer.netscape.com/docs/manuals/htmlguid/tags10.htm#1292282
Semantikken for <input type=\"image\"> og <input type=\"button\"> er blot væsentlig forskellig. Hvor en \'button\' gerne tager en onclick-handler, gør \'image\' det ikke.
<input type=\"image\"> er fast defineret som en submit-knap - uden handler-muligheder.
Derfor er man altid nødt til at bruge et linket billede, hvis man ønsker at bruge grafik i stedet for en knap - der er alt andet end en submit-knap.
Skal der derimod blot submit\'es, er <input type=\"image\"> en fortrinlig løsning.
/mvh
</bole>
Avatar billede helle_fred Nybegynder
27. september 2000 - 15:17 #8
ole - du har ret. Image-knappen ville unægtelig være mere interessant med en onClik-mulighed i Netscape.

Muligheden for at lægge grafik på knapper med stylesheets er ingen løsning - det duer heller ikke i Netscape.
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