[html] Meerder submit buttons

Pagina: 1
Acties:
  • 244 views sinds 30-01-2008
  • Reageer

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 22-08 10:29
ik heb nu dit:
code:
1
2
3
4
5
6
7
<form method="post" name="edit" action="index.php?act=f1web&p=$p&action=edit" enctype="multipart/form-data">
<input type="hidden" name="p" value="$p">

<textarea rows="29" name="text" cols="85" class="forminput">$var[text]</textarea>

<br><br>
<input type="submit"  value="Edit now!" class="forminput"></form>


Nu wil ik er nog een button bijhebben:
<input type="submit" value="Preview" class="forminput">
en die moet met een ander form te maken hebben:
<form method="post" name="preview" action="index.php?act=f1web&do=preview" enctype="multipart/form-data">

Maar ze moeten beiden de inhoud van de ingevulde textvlakken krijgen. Als ik het zo probeer werkt het niet:
code:
1
2
3
4
5
6
7
8
9
<form method="post" name="edit" action="index.php?act=f1web&p=$p&action=edit" enctype="multipart/form-data">
<form method="post" name="preview" action="index.php?act=f1web&do=preview" enctype="multipart/form-data">
<input type="hidden" name="p" value="$p">

<textarea rows="29" name="text" cols="85" class="forminput">$var[text]</textarea>

<br><br>
<input type="submit" value="Preview!" class="forminput"></form>
<input type="submit" value="Edit now!" class="forminput"></form>

Wie heeft de oplossing voor mij :?

  • OnTracK
  • Registratie: Oktober 2002
  • Laatst online: 21:13
probeer dit eens: 1 form
<INPUT type="submit" enz... onSubmit="index.php?act=f1web&p=$p&action=edit">
<INPUT type="submit" enz... onSubmit="index.php?act=f1web&do=preview">
en dan GEEN action in de <FORM>-tag

Not everybody wins, and certainly not everybody wins all the time.
But once you get into your boat, push off and tie into your shoes.
Then you have indeed won far more than those who have never tried.


  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 22-08 10:29
werkt niet, hij gaat niet verder: blijft op de zelfde pagina en doet dus niets

Verwijderd

Er kan maar 1 submit button op iedere pagina, omdat de submit de hele pagina herlaad.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01:26

RM-rf

1 2 3 4 5 7 6 8 9

OnTracK schreef op 29 oktober 2002 @ 11:22:
probeer dit eens: 1 form
<INPUT type="submit" enz... onSubmit="index.php?act=f1web&p=$p&action=edit">
<INPUT type="submit" enz... onSubmit="index.php?act=f1web&do=preview">
en dan GEEN action in de <FORM>-tag
hoe kom je daarop? volgens mij is dat blubberQuatsch, onsubmit is enkel een event dat aan een form gehangen mag worden, niet de button/input elementen.
verder wordt in een on-event'attribuut javascript direct geimpliceerd, een URI als variabele is onzinnig (nodeloos te zeggen, maar het is prettig om te proberen juiste antwoorden te geven, hierbij heb ik mijn twijfels.)

een werkend antwoord:
gebruik een javascript om een form te submitten:
code:
1
2
<input type="button" 
   onmousedown="document.forms['naam_van_ander_form'].submit()">

of zet de submit button wel in het juiste form, enkel gebruik css-positioning om dit visueel naast een andere knop te plaatsen.

beiden hebben echter wat nadelen; zo is het submitten van een form afhankelijk maken van javascript niet prettig vanuit gebruikers-oogpunt, dan kan als javascript uitstaat de gebruiker niks (kan komen door uA, door keuze gebruiker of door javascript-errors)
de tweede positioning methode is erg afhankelijk van juiste positioning, ook niet direct mijn voorkeur.

mijn eigen keuze zou zijn om de twee submit knoppen gewoon in een form te zetten echter door de variabele te definieren welke geklikt is, dus kiezen voor een serverside oplossing hiervoor
code:
1
2
<input type="submit" name="verstuur" value="verstuur">
<input type="submit" name="preview" value="preview">

enkel van de geklikte button wordt de waarde meegestuurd, dus hiermee kan je controleren welke geklikt is.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 29 oktober 2002 @ 11:30:
Er kan maar 1 submit button op iedere pagina, omdat de submit de hele pagina herlaad.
Correctie: Je kunt WEL meerdere submit buttons hebben binnen een pagina, maar deze moeten apart in een <form>...</form> staan.

Je kunt het het beste oplossen door gewoon twee normale buttons te maken:

(in je head):
code:
1
2
3
4
5
6
7
8
9
<script language="JavaScript">
  function doSubmit(iValue) {
    if (iValue==1) {
      frmTest.action = 'bla1.asp';
    } else {
      frmTest.action = 'bla2.asp';
    }
    frmTest.submit();
</script>

... en in je HTML
code:
1
2
3
4
<form name="frmTest" method="post">
  <input type="button" onclick="doSubmit(1);" value="Submit 1">
  <input type="button" onclick="doSubmit(2);" value="Submit 2">
</form>


...Zo effe uit mijn blote bolleke... Kan foutje in zitten, maar je get the picture...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • sjoerdb2
  • Registratie: Juli 2001
  • Laatst online: 09-05-2025
code:
1
2
<input type="submit" name="submit" value="verstuur">
<input type="submit" name="submit" value="preview">


in php:
PHP:
1
2
3
4
5
6
7
8
if ($submit == 'verstuur')
{
bla
}
elseif ($submit == 'preview')
{
bla
}


suc6!

[ Voor 0% gewijzigd door sjoerdb2 op 29-10-2002 11:37 . Reden: php typo ]


Verwijderd

ik ben net bezig met .NET, en deze kan dus wel meerdere submit buttons aan in 1 form tag!

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 22-08 10:29
heb nu dit geprobeerd:
code:
1
2
3
4
5
6
7
8
9
<form method="post" name="edit" action="index.php?act=f1web&action=edit" enctype="multipart/form-data">
<form method="post" name="preview" action="index.php?act=f1web&action=preview" enctype="multipart/form-data">
<input type="hidden" name="p" value="$p">

<textarea rows="29" name="text" cols="85" class="forminput">$var[text]</textarea>

<br><br>
<input type="submit" value="Preview!" name="preview" class="forminput" onmousedown="document.forms['preview'].submit()"></form>
<input type="submit" value="Edit now!" class="forminput" onmousedown="document.forms['edit'].submit()"></form>

maar helaas, hij pakt toch nog het 1e form, en de 2e submit button werkt ook niet

  • sjoerdb2
  • Registratie: Juli 2001
  • Laatst online: 09-05-2025
codeweb schreef op 29 oktober 2002 @ 11:42:
heb nu dit geprobeerd:
code:
1
...

maar helaas, hij pakt toch nog het 1e form, en de 2e submit button werkt ook niet
Maar waarom roep je het form 2 keer aan? Ik gebruik zelf de code die ik eerder al hier gepost had en dat werkt prima!

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 22-08 10:29
RobIII schreef op 29 oktober 2002 @ 11:34:
[...]


Correctie: Je kunt WEL meerdere submit buttons hebben binnen een pagina, maar deze moeten apart in een <form>...</form> staan.

Je kunt het het beste oplossen door gewoon twee normale buttons te maken:

(in je head):
code:
1
2
3
4
5
6
7
8
9
<script language="JavaScript">
  function doSubmit(iValue) {
    if (iValue==1) {
      frmTest.action = 'bla1.asp';
    } else {
      frmTest.action = 'bla2.asp';
    }
    frmTest.submit();
</script>

... en in je HTML
code:
1
2
3
4
<form name="frmTest" method="post">
  <input type="button" onclick="doSubmit(1);" value="Submit 1">
  <input type="button" onclick="doSubmit(2);" value="Submit 2">
</form>


...Zo effe uit mijn blote bolleke... Kan foutje in zitten, maar je get the picture...
en dit werkt inderdaad :D je was alleen een } in de js vergeten

bedankt!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:41

crisp

Devver

Pixelated

En de beste oplossing (die van RM-rf) wordt compleet genegeerd... :/

Intentionally left blank


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ben het eens met RM-rf wat betreft lui die JS hebben uit staan, en ik vind de oplossing ook wel origineel. Maar volgens mij mag in 1 form tag (dus <form>...</form>) officieel maar 1 submit voorkomen. En mijn oplossing is denk ik wel zo overzichtelijk... Maar inderdaad minder cross-browser geschikt. Maar als het werkt en voldoet aan de gestelde eisen (en gebruikersgroep) dan lekker laten zoals het is. Wat werkt, werkt :)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:41

crisp

Devver

Pixelated

RobIII schreef op 29 oktober 2002 @ 12:16:
Ben het eens met RM-rf wat betreft lui die JS hebben uit staan, en ik vind de oplossing ook wel origineel. Maar volgens mij mag in 1 form tag (dus <form>...</form>) officieel maar 1 submit voorkomen. En mijn oplossing is denk ik wel zo overzichtelijk... Maar inderdaad minder cross-browser geschikt. Maar als het werkt en voldoet aan de gestelde eisen (en gebruikersgroep) dan lekker laten zoals het is. Wat werkt, werkt :)
Uit de W3C recommendation voor HTML 4.01:
buttons
Authors may create three types of buttons:
submit buttons: When activated, a submit button submits a form. A form may contain more than one submit button.
reset buttons: When activated, a reset button resets all controls to their initial values.
push buttons: Push buttons have no default behavior. Each push button may have client-side scripts associated with the element's event attributes. When an event occurs (e.g., the user presses the button, releases it, etc.), the associated script is triggered.

Intentionally left blank


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Vind die van RM-rf toch een stuk 'overzichtelijker' dan een berg nutteloze JavaScript :)

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01:26

RM-rf

1 2 3 4 5 7 6 8 9

RobIII schreef op 29 oktober 2002 @ 12:16:
Maar volgens mij mag in 1 form tag (dus <form>...</form>) officieel maar 1 submit voorkomen.
http://www.w3.org/TR/REC-html40/interact/forms.html
http://www.w3.org/TR/REC-.../forms.html#submit-button
buttons
Authors may create three types of buttons:
submit buttons: When activated, a submit button submits a form. A form may contain more than one submit button.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1