Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Sisäkkäiset formit

Sivun loppuun

B_R_H [05.05.2009 11:59:05]

#

Tervehdys,

Rakennan php:llä sivua, jossa on <form> ... </form> -tägien välissä sekä buttoneita ja checkboxeja. Buttonin toiminnot vaikuttavat koko formin alueelle riveihin, jotka on valittu checkboxeilla.

Nyt tarttis saada riville uusi toiminto (esim. button rivin loppuun), josta haaraudutaan muualle kuin itse formilta. Oletuksenahan tekisin buttonille oman formin, jossa homma hoituisi.

Ongelma:
*Sisäkkäiset formit eivät kaiketi sallittuja?
*Kokeilin ja ekalla rivillä ei toimi, mutta muilla toimii ok. Syynä lienee ensimmäinen lopetava </form>

Ideaa miten tähän saisi toimimaan?

Antti Laaksonen [05.05.2009 12:36:20]

#

Jos napeille antaa nimet, voi tunnistaa, mistä on painettu:

http://koti.mbnet.fi/pllk/muut/napit.php

<?php
if (isset($_POST["nappi1"])) {
    echo "Painettiin rivin 1 napista.";
}
if (isset($_POST["nappi2"])) {
    echo "Painettiin rivin 2 napista.";
}
if (isset($_POST["nappi3"])) {
    echo "Painettiin rivin 3 napista.";
}
if (isset($_POST["nappi"])) {
    echo "Painettiin alimmasta napista.";
}
if (isset($_POST["valmis"])) {
    die();
}
?>

<form action="napit.php" method="post">
Tässä on rivi 1. <input type="submit" name="nappi1" value="Paina"> <br>
Tässä on rivi 2. <input type="submit" name="nappi2" value="Paina"> <br>
Tässä on rivi 3. <input type="submit" name="nappi3" value="Paina"> <br>
<br>
<input type="submit" name="nappi" value="Paina">
<input type="hidden" name="valmis" value="on">
</form>

Jos rivien määrä on vaihtuva, kannattaa tietysti käyttää for-silmukkaa.

B_R_H [05.05.2009 12:45:12]

#

Kiitti Antti,

Nuo checkboxit on nimetty luupissa ja toimivat ok. Ongelma on se, että checkbox + nappi valinnalla submit on

	<form name="myform" method="post" action="index.php?do=12">

ja napilla rivin perästä:

	<form name="myform" method="post" action="index.php?do=1">

checkboxeja ja nappeja on joka rivillä...

Merri [05.05.2009 12:56:04]

#

Miksi linkki rivin loppuun ei käy? Onko checkboxin arvolla minkäännäköistä virkaa kun rivillä olevaa nappulaa painetaan? On turha ainakaan koko lomaketta lähettää, jos valtaosalla tiedosta ei tehdä mitään. Siksi linkki olisi parempi vaihtoehto, varsinkin jos käsitellään vain yhtä riviä.

B_R_H [05.05.2009 17:11:15]

#

Linkki voisi olla ok, mutta tarttis rivikohtaisesti kuljettaa hidden-kentässä muuttujia kutsuttavalle näytöllä. mm. valitun rivin avainarvo ja paluuosoitteen muuttajan tieto.

Tietenkin linkkinä voisi olla javascript-funktio, jossa arvot asetetaan. Sieltä tarttis kuitenkin taas seurata linkkiä?

Ideoita?

punppis [05.05.2009 18:13:39]

#

Melko yleinen tapa on juurikin kuljettaa tuon linkin mukana se avainarvo ja sitten sillä käsittelevällä skriptillä katsellaan vaikka $_SERVER-globaalista mistäpäin ollaan tultu. Ja ainahan sen paluuosoitteenkin voi laittaa sen osoitteen mukana menemään, jos joku haluaa palautusosoitetta mennä näpelöimään niin omahan on häpeänsä.

B_R_H [06.05.2009 17:27:08]

#

Linkillä ja funktiolla luonnistuu ok, mutta kertokaas tyhmälle miten saan lomakkeelta lähetettyä toisen ja siirrettyä kontrollin sinne javascript-funktiossa?

Tällähän saa itsensä: document.myform.submit()

Metabolix [06.05.2009 17:30:57]

#

No saahan sillä samalla tavalla minkä tahansa muunkin.

Jos nyt sivuistasi tulee JS-riippuvaiset, niin voit saman tien luopua koko formeista ja laittaa vain yhden formin, johon sitten lisäät napinpainalluksesta oikean action-attribuutin ja lähetettävän datan hidden-inputteina.

B_R_H [06.05.2009 17:33:23]

#

Juu sorry

RTFM :-)


vaikka windows.location


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta