Kezdőoldal » Számítástechnika » Weblapkészítés » Form action választás rádiógom...

Form action választás rádiógombokkal?

Figyelt kérdés

Lenne egy űrlapom amiben 2 rádiógomb van elhelyezve, 2 input mező és egy submit gomb. Azt szeretném elérni hogy a küldés gombra kattintva a bekapcsolt rádiógombtól függően más-más .php fájlra hivatkozzon.


Tehát a formon belül

1-es rádiógomb esetén -> action="1.php"

2-es rádiógomb esetén -> action="2.php"


Valakinek valami egyszerű, elegáns megoldása lenne erre?


2009. dec. 8. 00:34
 1/6 anonim ***** válasza:

Szerintem ezt csak javascripttel tudod megcsinálni, pl így:


<html>

<body>

<form id="form1" action="1.php">

<input type="radio" name="r1" value="v1" checked onclick="document.getElementById('form1').action='1.php'">

<input type="radio" name="r1" value="v2" onclick="document.getElementById('form1').action='2.php'">

<input type="submit">

</form>

</body>

</html>

2009. dec. 8. 04:57
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Hát ez egy egyszerű, elegáns megoldásnak tűnik, köszönöm ;).
2009. dec. 8. 13:06
 3/6 anonim ***** válasza:

Ha még aktuális, én ha lehet nem használok js.t mert sokszor levannak tiltva pl. céges környezetben stb... Szal ha lehet akkor server slideon megoldani, erre egy pár soros megoldás van a php-s megoldás le írom én is aztán majd döntesz.


Ebben is csak annyi jsvan ami hogy ha tiltva is van akkro is müködik gyakorlatilag annyit csinál hogy ha rá katt akkor elposztolja magát, hogy ha ez nem kell kiveszed. A feldolgozást úgyan az 1 v. 2 php végzi és ha ezzeken belül is van esetleg header(); parancs akkor az ism egy mert nem kap html kimenett sehol. Én sztem ez a megoldás ellegánsább de hát döntsd el te magad! :)

ime a kód:

<?php

if(isset($_POST['radio_gomb1']) or isset($_POST['radio_gomb2']))

{

if($_POST['radio_gomb1'])

{

//1_gombot válaszotta ide jöhet feldolgozás vagy tovább küldés

include ("1.php");

}

else if($_POST['radio_gomb2'])

{

//2_gombot válaszotta

include ("2.php");

}

}

else {

?>

<html>

<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"></head>

<body>

<FORM method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="proba" id="proba">

<label>1es rádió gomb: <input type="radio" name="radio_gomb1" onClick="document.proba.submit()"></label><br />

<label>2es rádió gomb: <input type="radio" name="radio_gomb2" onClick="document.proba.submit()"></label><br />

<button type="submit">Küldés </button>

</FORM>

<body>

</html>

<?php } ?>

2009. dec. 12. 02:47
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

Első vagyok. Sztem is elegánsabb a szerver oldali feldolgozás, de pont az ami a kérdésben szerepel nem teljesül, hiszen form egy közös oldalra submitálódik el. Lehet hogy az 1.php és a 2.php nem egy szerveren van, ekkor pedig nem igazán lehet megcsinálni a második megoldást legfeljebb egy HTTP redirect-tel, ami plusz 1 roundrtip, és növeli a válaszidőt.


Ha tényleg 1 és saját szerveren vannak a megadott oldalak, akkor szerver oldalon irányítsd el. Vagy pedig 2 formot rakj az oldalra, 2 gombbal, akkor nem kell radiobutton/javascript.

2009. dec. 12. 08:08
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

a fellötem lévőnek. Jójó így abszolult igazad van megse fordult a fejembe hogy nem azzon a szerveren van. :-D úgy valóbban az a jó amit te írtál.


üdv

2009. dec. 14. 00:15
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Sajnos nem ugyanott vannak, sőt ami igazán megköveteli a nem php-s megoldást az az hogy hozzájuk sem férek konkrétan. Ettől függetlenül köszönöm a másik megoldást ;).
2009. dec. 18. 08:40

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!