Hallo,
ich möchte ein dynamisches Formular erstellen, das bei Auswahl der option im select, per include via PHP-Datei erweitert wird.
Das Formular ist sehr umfangreich, daher sollen nur die Formularfelder angezeigt werden, die für das jeweilige Objekt relevant sind.
zum Bsp. wählt der User die Option "rent" includieren Formularfelder wie Mietpreis, Kaution, Nebenkosten etc. aus rent.php ,
wählt der User die Option "sale" kommen die Formularfelder aus sale.php ,
Das Formular ist sehr umfangreich, hier ein Ausschnitt:
Alles anzeigen
So nun weiß ich nicht weiter.
Ich habe das Tut "Select-Auswahl mit AJAX Abhängigkeit" gelesen und weitere Posts zu ähnlichen Problemen, allerdings bringen die mich nicht wirklich weiter, abgesehen dass ich auf dem Gebiet auch keine Expertin bin (leider).
Ich versuche nun folgendes per JS
Alles anzeigen
und per PHP soll die Erweiterung eingefügt werden
Alles anzeigen
Die Werte werden nicht per JS verarbeitet. $_GET['ajaxget'] ist leer.
var_dump ($_GET) und print_r ($_POST) geben folgendes aus. Die anderen beiden Variablen sind null
Mein Ansatz funktioniert leider nicht. Es gibt auch keine Fehlermeldung. Das Formular wird ansonsten korrekt ausgeführt und die Werte in der Datenbank gespeichert.
Kann mir jemand einen Tipp geben, wo der Fehler ist?
Danke
ich möchte ein dynamisches Formular erstellen, das bei Auswahl der option im select, per include via PHP-Datei erweitert wird.
Das Formular ist sehr umfangreich, daher sollen nur die Formularfelder angezeigt werden, die für das jeweilige Objekt relevant sind.
zum Bsp. wählt der User die Option "rent" includieren Formularfelder wie Mietpreis, Kaution, Nebenkosten etc. aus rent.php ,
wählt der User die Option "sale" kommen die Formularfelder aus sale.php ,
Das Formular ist sehr umfangreich, hier ein Ausschnitt:
Quellcode
- <form name="item" action="<?php echo base_url(true) ; ?>" method="post" enctype="multipart/form-data">
- <input type="hidden" name="action" value="item_add" />
- <input type="hidden" name="page" value="item" />
- <fieldset>
- .
- .
- .
- <div class="clearfix">
- <?php
- if( Session::newInstance()->_getForm('pre_property_type') != '' ) {
- $detail['e_type'] = Session::newInstance()->_getForm('pre_property_type');
- }
- ?>
- <label for="property_type">Typ</label>
- <select name="property_type" id="property_type">
- <option value="" selected="selected" >bitte auswählen</option>
- <option value="1" <?php if(@$detail['e_type'] == 'RENT') { echo "selected"; } ?>>
- rent
- </option>
- <option value="2" <?php if(@$detail['e_type'] == 'SALE') { echo "selected"; } ?>>
- sale
- </option>
- </select>
- </div>
- .
- <div id="include"></div> <!-- Form erweitern //-->
- .
- <button type="submit">sent</button>
- </fieldset>
- </form>
So nun weiß ich nicht weiter.
Ich habe das Tut "Select-Auswahl mit AJAX Abhängigkeit" gelesen und weitere Posts zu ähnlichen Problemen, allerdings bringen die mich nicht wirklich weiter, abgesehen dass ich auf dem Gebiet auch keine Expertin bin (leider).
Ich versuche nun folgendes per JS
Quellcode
- $("#property_type").change(function () {
- var str = "";
- $("#property_type option:selected").each(function () {
- str += $(this).val();
- });
- var property_type=str;
- if (property_type!="") {
- $.ajax({
- type: "GET",
- url: "index.php",
- data: {"ajaxget":1,"property_type":property_type},
- dataType:"json",
- success: function (reqCode) {
- $("#include").replaceWith(reqCode[0]);
- }
- });
- }
- return false;
- });
- $("#property_type").change();
und per PHP soll die Erweiterung eingefügt werden
Quellcode
- <?php
- if (isset($_GET['ajaxget']) AND $_GET['ajaxget']==1) {
- if (isset($_GET['property_type'])) {
- $ausgabe= include_once 'rent.php';
- header('Content-type: application/json');
- echo json_encode(array($ausgabe));
- }
- }
- var_dump ($_GET);
- print_r ($_POST);
- var_dump ($_GET['ajaxget']);
- var_dump ($ausgabe);
- ?>
Die Werte werden nicht per JS verarbeitet. $_GET['ajaxget'] ist leer.
var_dump ($_GET) und print_r ($_POST) geben folgendes aus. Die anderen beiden Variablen sind null
Mein Ansatz funktioniert leider nicht. Es gibt auch keine Fehlermeldung. Das Formular wird ansonsten korrekt ausgeführt und die Werte in der Datenbank gespeichert.
Kann mir jemand einen Tipp geben, wo der Fehler ist?
Danke