Ein Select-Feld als hidden weiter geben

CreativPur

Erfahrenes Mitglied
Ich habe ein mehrseitiges Formular, welches per Hidden die Daten auf eine weitere Formular-Seite überträgt.
Bei den Inputfeldern funktioniert es auch wunderbar..

Code:
<input class="radius_input" name="c[radius]" rows="5" id="c[radius]" size="20" value="<?=$fldradius?>"/ ><span class="km">  km </span>

Ich möchte dieses Inputfeld aber als Select-Feld. Mein versuch war folgender Code..

Code:
switch ($radius) 
 { 
 case "5": $select[0] = "selected"; 
 break; 

 case "10": $select[1] = "selected"; 
 break; 

 case "25": $select[2] = "selected"; 
 break; 

 case "50": $select[3] = "selected"; 
 break; 

 default: $select[0] = "selected"; 
} 
echo<<<SELECT 
<select name="c[radius]">
           <option name="c[radius]" id="c[radius]" $select[0] value="<?=$fldradius?>">5</option>
           <option name="c[radius]" id="c[radius]" $select[1] value="<?=$fldradius?>">10</option>
           <option name="c[radius]" id="c[radius]" $select[2] value="<?=$fldradius?>">25</option>
           <option name="c[radius]" id="c[radius]" $select[3] value="<?=$fldradius?>">50</option>
         </select>
SELECT;

Leider funktioniert dieser nicht.. Kann mir da vielleicht jemand behilflich sein ?
 
Was funktioniert denn genau nicht? Dir ist klar, dass du für das weitergeben auch ein einfaches input-Feld verwenden kannst, da auf den nächsten Seiten durch den User ja nichts mehr an der Auswahl geändert werden kann ;) Ich mag diese Art von Formularen allerdings generell nicht. Überleg doch mal, ob du das nicht auch mit Javascript lösen könntest: http://www.jqueryscript.net/form/Creating-A-Modern-Multi-Step-Form-with-jQuery-CSS3.html Ich find das einfach moderner als dieses gefrickel mit den hidden-Inputs.
 
Was funktioniert denn genau nicht? Dir ist klar, dass du für das weitergeben auch ein einfaches input-Feld verwenden kannst, da auf den nächsten Seiten durch den User ja nichts mehr an der Auswahl geändert werden kann ;) Ich mag diese Art von Formularen allerdings generell nicht. Überleg doch mal, ob du das nicht auch mit Javascript lösen könntest: http://www.jqueryscript.net/form/Creating-A-Modern-Multi-Step-Form-with-jQuery-CSS3.html Ich find das einfach moderner als dieses gefrickel mit den hidden-Inputs.
Vielen Dank für Deine schnelle Antwort..

Ich habe auf deinem Link ein schönes Script gefunden, wo ich aber leider nicht weiterkomme.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Support / FAQ</title>



<script>$.fn.expose = function(options) {
   
  var $modal = $(this),
      $trigger = $("a[href=" + this.selector + "]");
 
  $modal.on("expose:open", function() {
   
    $modal.addClass("is-visible");
    $modal.trigger("expose:opened");
  });
 
  $modal.on("expose:close", function() {
   
    $modal.removeClass("is-visible");
    $modal.trigger("expose:closed");
  });
 
  $trigger.on("click", function(e) {
   
    e.preventDefault();
    $modal.trigger("expose:open");
  });
 
  $modal.add( $modal.find(".close") ).on("click", function(e) {
   
    e.preventDefault();
   
    // if it isn't the background or close button, bail
    if( e.target !== this )
      return;
   
      $modal.trigger("expose:close");
  });
 
  return;
}

$("#Popup").expose();

// Example Cancel Button

$(".cancel").on("click", function(e) {
 
  e.preventDefault();
  $(this).trigger("expose:close");
});


</script>

<style type="text/css">
a:link {
    text-decoration: none;
}
a:visited {
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}
a:active {
    text-decoration: none;
}
#padding { padding-left: 30px; }

.u-schrift { color:#F00; margin-left: 30px; font-size:16px; }

.infotext { margin-left: 30px; }



.Modal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  visibility: hidden;
}

.Modal .content {
  position: absolute;
  left: 50%;
  top: 30%;
  width: 20%;
  padding: 50px;
  border-radius: 3px;
  background: #fff;
  transform: translate(-50%, -30%) scale(0);
}

.Modal .close {
  position: absolute;
  top: 8px;
  right: 8px;
  display: block;
  width: 18px;
  height: 18px;
  padding: 5px;
  line-height: 18px;
  border-radius: 50%;
  text-align: center;
  cursor: pointer;
  background: #2ecc71;
  color: #fff;
}

.Modal .close:before { content: '\2715'; }

.Modal.is-visible {
  visibility: visible;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: background .35s;
  -moz-transition: background .35s;
  transition: background .35s;
  -webkit-transition-delay: .1s;
  -moz-transition-delay: .1s;
  transition-delay: .1s;
}

.Modal.is-visible .content {
  -webkit-transform: translate(-50%, -30%) scale(1);
  -moz-transform: translate(-50%, -30%) scale(1);
  transform: translate(-50%, -30%) scale(1);
-webkit-transform: transition: transform .35s;
-moz-transform: transition: transform .35s;
  transition: transform .35s;
}

body {
  overflow: hidden;
}

.button {
  display: block;
  width: 150px;
  height: 45px;
  line-height: 45px;
  margin: 125px auto 0;
  border-radius: 3px;
  text-align: center;
  text-decoration: none;
  background: #2ecc71;
  color: #fff;
}

.title_pop { padding-left: 30px; }

</style>
</head>

<body>
<p>&nbsp;</p>
<h3><span style="color: #ff0000;"><strong>A</strong></span></h3>


<a href="#Popup" class="title_pop">Account</a>
<div id="Popup" class="Modal">
  <div class="content">
    <h2>Account</h2>
    <p>Ein Benutzerkonto (englisch user account), kurz Nutzerkonto oder Account ist eine Zugangsberechtigung zu einem zugangsbeschränkten IT-System. Üblicherweise muss ein Benutzer sich beim Login mit Benutzernamen und Kennwort authentifizieren.</p>
    <a href="#" class="cancel"></a> <span class="close"></div>
</div>


<br />

<a href="#Popup" class="title_pop">Anlagen</a>
<div id="Popup" class="Modal">
  <div class="content">
    <h2>Anlagen</h2>
    <p>Anlagen sind Ihre Zeugnisse, Referenzen gegebenfalls Ihr Lebenslauf, die Sie in Ihrer digitalen Bewerbung einfügen.</p>
    <a href="#" class="cancel"></a> <span class="close"></div>
</div>


</table>
</body>
</html>

ich kann zwar ein Popup erfolgreich öffnen, aber wie bekomme ich auf die gleiche Seite zwei verlinkungen ?
 
Was meinst du mit verlinken?

Javascript:
$("#Popup").expose();

Dieser Code öffnet ein Model mit der ID "Popup". Wenn du mehrere Popups brauchst, solltest du entsprechend andere IDs für die anderen Popups wählen und diese Funktion dann mit der geänderten ID neu aufrufen. Wenn du mehr mit diesen schönen Popups arbeiten möchtest, empfehle ich dir http://getbootstrap.com/ . Da musst du genau eine CSS Datei und eine JS Datei einbinden und kannst dann viele dieser Standardaufgaben erledigen. Modals wären zB hier: http://getbootstrap.com/javascript/#modals , es lohnt sich aber auch, aml die anderen Funktionen anzuschauen.
 
Und was spricht gegen den Einsatz von Sessions? Ich meine, du postest im Forum für PHP für ein Thema, dass du im Client behandeln willst?
 
Bei Sessions hast du das Problem, dass das Bedienen des gleichen Formulars (etwa in mehreren Tabs) zu Problemen führen wird. Du könntest natürlich jedes Formular eindeutig identifizieren lassen, aber hier ist es vielleicht doch leichter, die Daten mittels verstecker Inputfelder weiterzugeben. Bedenke trotzdem, dass du die Daten immer wieder erneut validieren musst. Bei der Session kannst du hingegen sicher sein, dass die Daten nach anfänglicher Validierung in der Sessions selbst nicht mehr verändert werden.
 
Zurück