Phil: Radiobutton wert lässt sich nicht übermitteln!???

Beitrag lesen

ich bin grad am proggen eines formulares es funkt bis jetzt auch alles, aber,... es geht um folgenes nach eingabe in das formular hol ich mir die werte mittels ajax heraus, anschließend schickt ich die value von meinem radiobutton zum php file, wo ich überprüfe ob die eingaben eben richtig sind oder nicht! doch meine radiobuttons sind immer undefined und ich hab kein plan wieso...

hier meine zwei radio buttons:
<input type="radio" name="anrede" value="Frau"> Frau<br>
<input type="radio" name="anrede" value="Mann"> Mann<br>
------

ajaxdata['anrede'] = form.anrede.value;

das is mal der code mit dem ich mir den inhalt mit js hole "anrede" is der name von radiobutton und diese value wird dann an an die auswertung.php gesendet und dort passiert nur das

if($_POST['anrede'] == ""){
  $out.="Um fortfahren zu können bitte die Geschlaecht angeben!<br>";
 }

und des geht nicht weil eben kein er keinen wert in value sieht
und ich bin verzweifelt weil mit den ganzen textfeldern gehts auch und den checkboxen aber radio button gehen eben nicht!
habt ihr ne lösung...?

vielen vielen dank im vorraus!! philipp

zu vervollständigung der code aus meinem formular:
<html>
<head>
<title>PHP-HaXx-Formular</title>
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript">
  function ausblenden(){
   $("#navilist").hide("slow");
  }
  function einblenden(){
   $("#navilist").show("slow");
  }
 </script>
    <script type="text/javascript">
  function js_submit(form) {
   ajaxdata = new Object();
   ajaxdata['vorname'] = form.vorname.value;
   ajaxdata['nachname'] = form.nachname.value;
   ajaxdata['telefon'] = form.telefon.value;
   ajaxdata['email'] = form.email.value;

ajaxdata['anrede'] = form.anrede.value;//Geht nicht!! kein Wert vorhanden!!

ajaxdata['agb'] = form.agb.checked;
   ajaxurl='auswertungForm.php';
   $.post(ajaxurl, ajaxdata, afterpost);//1.gibt man die URL an die man schickt, 2. Die zu versendeten daten, 3. irgendetwas dass die daten übernhemen kann daten werden wieder aufgefangen
  }
  function afterpost(msg) {
   if(msg == 0){
    document.location = "action.php";
   }else{
    $("#status").html(msg);
   }
  }
 </script>

<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
</head>
<body>
<div id=overall> <img src="img/main Kopie.jpg"></div>
 <div id=navipic><img src="img/links Kopie.jpg"></div>
 <div id="formular"><strong>Kontakt-Formular<p></strong>
 <form name="form1" action="javascript:void(0)" onsubmit="return js_submit(this);">
  <input type="text" name="vorname" /> Vorname<br>
  <input type="text" name="nachname" /> Nachname<br>
  <input type="text" name="telefon" /> Telefonnummer<br>
  <input type="text" name="email" /> E-Mail Adresse <br>
     <input type="radio" name="anrede" value="Frau"> Frau<br>
        <input type="radio" name="anrede" value="Mann"> Mann<br>
  <input type="checkbox" name="agb" value="on"/> Hiermit akzeptiere ich die AGB's <br>
  <input type="submit" value="Submit" />
 </form>
</div>
<div id=status></div>
</body>
</html>

......und hier meine regular expression überprüfung:

<?php
include_once("inc/functions.php");
include("dd.php");

foreach($_POST as $i=>$v){
 $_POST[$i] = utf8_decode($v);
}

$out = "";

if($_POST['vorname'] == ""){
  $out .= "<li>Vorname ausfüllen!</li>";
 }
 if($_POST['nachname'] == ""){
  $out .= "<li>Nachname ausfüllen!</li>";
 }
 if($_POST['telefon']== ""){
  $out .="<li>Telefon Nummer eintragen!</li>";
 }
 if($_POST['email']== ""){
  $out .="<li>Email Adresse eingeben!</li>";
 }
        if($_POST['anrede'] == ""){
           $out.="Um fortfahren zu können bitte die Geschlaecht    angeben!<br>";
        }
 if($_POST['agb'] != "true"){
  $out .="<li>Um fortfahren zu können bitte die AGB akzeptieren!</li>";
 }
 if(!preg_match("/[1]*$/", $_POST["vorname"])){
  $out .= "<li>Vorname darf nur aus Buchstaben bestehen!</li>";
 }
 if(!preg_match("/[2]*$/", $_POST["nachname"])){
  $out .= "<li>Nachname darf nur aus Buchstaben bestehen!</li>";
 }
 if(!preg_match("/[3]*$/", $_POST["telefon"])){
  $out .= "<li>Telefonnummer darf nur aus Zahlen bestehen!</li>";
 }
 if(!preg_match("/[4]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}$/", $_POST["email"])){
  $out .= "<li>Email Adresse bitte neu eingeben!</li><br>";
 }
if($out == ""){//geht nnur rein wenn kein fehler im formular ist
 $admin = new admin();
 echo "Die Werte wurden soeben in die Datenbank eingetragen! <a href='action.php?action=alles_ausgeben'> Hier</a> klicken um die DB zu sehen<br>";
 $fertigData['vorname']=$_POST['vorname'];
 $fertigData['nachname']=$_POST['nachname'];
 $fertigData['telefon']=$_POST['telefon'];
 $fertigData['email']=$_POST['email'];
 $fertigData['anrede']=$_POST['anrede'];
 dd($_POST['anrede']);
 $out=$admin->writeData($fertigData);//Falls fehlermeldung --> Rückgabe von admin->writeData nach out, d.h. wenn nach der pos prüfung der reg. epr noch Fehler auftreten bsp. DB verbdingung im orsch, dann php-fehler

}

echo utf8_encode($out);
?>


  1. A-Za-z ↩︎

  2. A-Za-z ↩︎

  3. 0-9 ↩︎

  4. A-Za-z0-9._%- ↩︎