Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]problem z radio button w formularzu
Forum PHP.pl > Forum > Przedszkole
marcin1975
Witam !
Mam następujący problem. W formularzu są trzy pytania na każde można odpowiedziec tak lub nie.
W jaki sposób zrobić aby po zaznaczeniu w jedym pytaniu odpowiedzi tak, nie było możliwości zaznaczenia odpwiedzi tak w pozostałych, tylko nie. I tak samo po zaznaczeniu nie.
Z góry bardzo serdecznie dziękuje za odpowiedź.
Marcin

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>
<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = '';

// Adres e-mail adresata
$subject = 'Formularz'; // Temat listu
$message = 'Dziękujemy za wysłanie formularza'; // Komunikat
$message2 = ''; // Komunikat
$error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
$charset = 'iso-8859-2'; // Strona kodowa
//////////////////////////////

$head =
"MIME-Version: 1.0\r\n" .
"Content-Type: text/plain; charset=$charset\r\n" .
"Content-Transfer-Encoding: 8bit";
$body = '';
foreach ($_POST as $name => $value)
{
if (is_array($value))
{
for ($i = 0; $i < count($value); $i++)
{
$body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
}
}
else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
}
echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
// echo mail($email2, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message2 : $error;
}
else
{
?>

<form action="?" method="post"> <center>
<table align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tbl\"><form method=\"post\">
FORMA UCZESTNICTWA
</td>
</tr>
<tr>
<td><br></td>
</tr>
<tr>
<td align='right'>Zgłaszam tylko udział &nbsp;&nbsp;</td>
<td><input type="radio" name="udzial" value="tak">tak
<input type="radio" name="udzial" value="nie">nie </td>
</tr>
<tr>
<td><br></td>
</tr>
<tr>
<td align='right'>Zgłaszam tylko referat &nbsp;&nbsp;</td>
<td><input type="radio" name="referat" value="tak">tak
<input type="radio" name="referat" value="nie">nie</td>
</tr>
<tr>
<td><br></td>
</tr>
<tr>
<td align='right'>Zgłaszam udział z referatem &nbsp;&nbsp;</td>
<td><input type="radio" name="udzialzreferatem" value="tak">tak
<input type="radio" name="udzialzreferatem" value="nie">nie </td>
</tr>

<tr>
<td colspan="2"><center><input type="submit" name="submit" value="Wyślij"></center></td>
</tr>
</table>
</form>
<?php
}
?>
neverever
Tylko po co tyle tych radio jak po jednym wystarczy?

inaczej chyba z js i onchange trzeba by się bawić.
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2">
  3. </HEAD>
  4. <?php
  5. if (count($_POST))
  6. {
  7. ////////// USTAWIENIA //////////
  8. $email = '';
  9.  
  10. // Adres e-mail adresata
  11. $subject = 'Formularz'; // Temat listu
  12. $message = 'Dziękujemy za wysłanie formularza'; // Komunikat
  13. $message2 = ''; // Komunikat
  14. $error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
  15. $charset = 'iso-8859-2'; // Strona kodowa
  16. //////////////////////////////
  17.  
  18. $head =
  19. "MIME-Version: 1.0\r\n" .
  20. "Content-Type: text/plain; charset=$charset\r\n" .
  21. "Content-Transfer-Encoding: 8bit";
  22. $body = '';
  23. foreach ($_POST as $name => $value)
  24. {
  25. if (is_array($value))
  26. {
  27. for ($i = 0; $i < count($value); $i++)
  28. {
  29. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  30. }
  31. }
  32. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  33. }
  34. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  35. // echo mail($email2, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message2 : $error;
  36. }
  37. else
  38. {
  39. ?>
  40. <form action="?" method="post"> <center>
  41. <table align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tbl\"><form method=\"post\">
  42. FORMA UCZESTNICTWA
  43. </td>
  44. </tr>
  45. <tr>
  46. <td><br></td>
  47. </tr>
  48. <tr>
  49. <td align='right'>Zgłaszam tylko udział &nbsp;&nbsp;</td>
  50. <td><input type="radio" name="udzial" value="udzial">tak
  51. </td>
  52. </tr>
  53. <tr>
  54. <td><br></td>
  55. </tr>
  56. <tr>
  57. <td align='right'>Zgłaszam tylko referat &nbsp;&nbsp;</td>
  58. <td><input type="radio" name="udzial" value="referat">tak
  59. </td>
  60. </tr>
  61. <tr>
  62. <td><br></td>
  63. </tr>
  64. <tr>
  65. <td align='right'>Zgłaszam udział z referatem &nbsp;&nbsp;</td>
  66. <td><input type="radio" name="udzial" value="udzialzreferatem">tak
  67. </td>
  68. </tr>
  69.  
  70. <tr>
  71. <td colspan="2"><center><input type="submit" name="submit" value="Wyślij"></center></td>
  72. </tr>
  73. </form>
  74. <?php }
  75. ?>
webasek
Spróbuj użyć disabled i javascipt poniżej jest część kodu

  1. <script type="text/javascript">
  2. function disable()
  3. {
  4. document.getElementById("referattak").disabled=true;
  5. document.getElementById("udzialzreferatemtak").disabled=true;
  6.  
  7. document.getElementById("referatnie").disabled=false;
  8. document.getElementById("udzialzreferatemnie").disabled=false;
  9. }
  10.  
  11. function disable1()
  12. {
  13. document.getElementById("referatnie").disabled=true;
  14. document.getElementById("udzialzreferatemnie").disabled=true;
  15.  
  16. document.getElementById("referattak").disabled=false;
  17. document.getElementById("udzialzreferatemtak").disabled=false;
  18. }
  19. </head>
  20.  
  21. <form action="?" method="post"> <center>
  22. <table align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tbl\"><form method=\"post\">
  23. FORMA UCZESTNICTWA
  24. </td>
  25. </tr>
  26. <tr>
  27. <td><br></td>
  28. </tr>
  29. <tr>
  30. <td align='right'>Zgłaszam tylko udział &nbsp;&nbsp;</td>
  31. <td><input type="radio" name="udzial" value="tak" onclick="disable()">tak
  32. <input type="radio" name="udzial" value="nie" onclick="disable1()">nie </td>
  33. </tr>
  34. <tr>
  35. <td><br></td>
  36. </tr>
  37. <tr>
  38. <td align='right'>Zgłaszam tylko referat &nbsp;&nbsp;</td>
  39. <td><input type="radio" id="referattak" name="referat" value="tak">tak
  40. <input type="radio" id="referatnie" name="referat" value="nie">nie</td>
  41. </tr>
  42. <tr>
  43. <td><br></td>
  44. </tr>
  45. <tr>
  46. <td align='right'>Zgłaszam udział z referatem &nbsp;&nbsp;</td>
  47. <td><input type="radio" id="udzialzreferatemtak" name="udzialzreferatem" value="tak">tak
  48. <input type="radio" id="udzialzreferatemnie" name="udzialzreferatem" value="nie">nie </td>
  49. </tr>
  50.  
  51. <tr>
  52. <td colspan="2"><center><input type="submit" name="submit" value="Wyślij"></center></td>
  53. </tr>
  54. </form>
  55.  
  56. </body>
  57. </html>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.