Toon posts:

[PHP] Formnaam opvragen na Submit

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als je een pagina hebt met twee formulieren:

[HTML]
<form method="get" action="" name="form1">
<form method="get" action="" name="form2">
[\HTML]

Is het dan mogelijk om, na een Submit van 1 van beide formulieren, met PHP de naam van het gesubmitte formulier te achterhalen? Dus "form1" of "form2".

Verwijderd

err aangezien elk form zijn eigen submit moet hebben ... kun je voor het gemak in je form een een hidden field maken met als waarde de naam van het desbetreffende form:

<form name='form1'>
bla
bla
<input type='sumit'>
<input type='hidden' name ='submitted_form' value='form1'>
</form>

<form name='form2'>
bla
bla
<input type='sumit'>
<input type='hidden' name ='submitted_form' value='form2'>
</form>

ofzo

Verwijderd

Of het direct kan weet ik niet, maar je kan bv wel een hidden field erin zetten:

<input type='hidden' name='formnaam' value='naam van het formulier'>

Is wel wat omslachtiger, maar anders zou ik het ook niet weten.

Verwijderd

Topicstarter
De hidden-field optie heb ik ook al over nagedacht, maar het is natuurlijk netter (en minder foutgevoelig) om het rechtstreeks op te kunnen vragen.

Is het met JS misschien mogelijk?

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Waarom doe je niet een hidden input waarvan je de waarde set met een javascriptje, onSubmit?

Verwijderd

Met javascript kun je in ieder geval wel een array opvragen met alle formulieren geloof ik.
Dus misschien dat je daar wat aan hebt, zal wel ff kijken of ik de code daarvoor kan vinden.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Bekijk eens wat voor informatie er te vinden is in de HTTP POST die wordt verzonden door de browser. Je zult dan spoedig zien of dit mogelijk is of niet :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
He, een reactie van medestudent mbravenboer! Ik studeer ook Alg. Informatica in Utrecht.

Ik heb de postvars al doorgelopen, maar de formnamen stonden er niet bij. Even nog onderzoeken of het met JS kan.

Verwijderd

[HTML]
<form name='form1' action='' method='post' onSubmit='sub_form.value= this.name;'>

<input type='hidden' name='sub_form'>
<input type='submit'>

</form>

<form name='form2' action='' method='post' onSubmit='sub_form.value= this.name;'>

<input type='hidden' name='sub_form'>
<input type='submit'>

</form>

[/HTML]

Verwijderd

Op vrijdag 25 januari 2002 15:29 schreef Philip het volgende:
De hidden-field optie heb ik ook al over nagedacht, maar het is natuurlijk netter (en minder foutgevoelig) om het rechtstreeks op te kunnen vragen.
Waarom geen hidden field, als je met javascript de waarde van een hidden field zet kun je beter meteen een hidden field gebruiken. Loop je ook niet de kans dat je hidden field leeg blijft als gebruikders geen javascript enabled hebben.

  • Spooksel
  • Registratie: Oktober 2000
  • Laatst online: 22:17

Spooksel

Spooksel!

Op vrijdag 25 januari 2002 15:25 schreef Maentor het volgende:
err aangezien elk form zijn eigen submit moet hebben ... kun je voor het gemak in je form een een hidden field maken met als waarde de naam van het desbetreffende form:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<form name='form1'>
    bla 
    bla
    <input type='sumit'>
    <input type='hidden' name ='submitted_form1' value='form1'>
</form>

<form name='form2'>
    bla 
    bla
    <input type='sumit'>
    <input type='hidden' name ='submitted_form2' value='form2'>
</form>

ofzo
als je in de file na de submit dan zet:
PHP:
1
2
3
4
<?
$HTTP_GET_VARS['submitted_form1/2'];
echo $submitted_form1/2;
?>

zou je de formnaam moeten zien!

Bevalt mijn schrijfsel je niet? www.korrelatie.nl


Verwijderd

beter is gewoon voor beide hidden inputs dezelfde naam te gebruiken.
hoef je ook maar 1 variabele in je php script op te vragen. Er kan toch maar 1 form per pagina tergelijktijd gesubmit worden.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Uit: http://www.w3.org/TR/html4/interact/forms.html#adef-name-FORM

<dl>
<dt>name = cdata [CI]</dt>
<dd>This attribute names the element so that it may be referred to from style sheets or scripts. Note. This attribute has been included for backwards compatibility. Applications should use the id attribute to identify elements.</dd>
</dl>

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
action=blaat.php?formulier=form1

zoiets zal toch ook wel kunnen?

  • MikeN
  • Registratie: April 2001
  • Laatst online: 13-09 17:41
Op zondag 27 januari 2002 11:57 schreef MadMurdock het volgende:
action=blaat.php?formulier=form1

zoiets zal toch ook wel kunnen?
Bij een POST action worden in principe de GET variabelen genegeerd, zal dus waarschijnlijk niet werken.....

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op zondag 27 januari 2002 12:43 schreef MikeN het volgende:
[..]
Bij een POST action worden in principe de GET variabelen genegeerd, zal dus waarschijnlijk niet werken.....
Nee hoor, werkt prima, tenzij je natuurlijk dezelfde naam gebruikt in een van je items van de form ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

<form method="get">
bla
bla
<input type="submit" name="submit1">
</form>

<form method="get">
bla
bla
<input type="submit" name="submit2">
</form>


en dan
PHP:
1
2
3
4
5
6
<?
if (isset($HTTP_GET_VARS['submit1']))
    // form 1 parsen
elseif (isset($HTTP_GET_VARS['submit2']))
    // form 2 parsen
?>

Dit werkt bij mij wel in ieder geval.. Maar ik moet bekennen dat ik niet zeker weet of het wel volgens de specs is enzo.. Maar volgens mij wel :)

On track


Verwijderd

Topicstarter
Ja, maar dan ga je off-topic. De vraag was of je de formnaam terug kan halen, niet de submit-button.

Ik begrijp uit de reacties dat het niet rechtstreeks kan, maar toch bedankt voor al jullie ideeen!
Pagina: 1