Ajax Request erfolgreich aber Seite aktualisiert sich nicht

PHP-Fan

Erfahrenes Mitglied
Hi,

ich beschäftige mich langsam gezwungenermaßen mit Ajax und jQuery. Ich habe ein großes Problem für das ich keine logische Erklärung finde.

Code:
<script src="/plugins/jquery/jquery-1.10.1.min.js"></script>

<script type="text/javascript">
  $(document).ready(function() {
      $("#selectbox_1").change(function(){
        var id_hauptkategorie=$(this).children('option:selected').val();
        $("#selectbox_2").load("x.php",{value: id_hauptkategorie});
      });
  });  
</script>


<h2>Beispiel</h2>
<label>Hauptkategorie</label>

<select id="selectbox_1">
	<option value="0">Bitte wählen...</option>
	<option value="1">Fortbewegungsmittel</option>
	<option value="2">Gemüse/Obst</option>
	<option value="3">Computer</option>
</select>

<label>Unterkategorie</label>

<select id="selectbox_2">
<option value="0">leer</option>
	<?php
	if($_POST["value"]==1){
	?>
	<option value="1">Auto</option>
	<option value="2">LKW</option>
	<option value="3">Motorrad</option>
	<?php  }
	elseif($_POST["value"]==2){
	?>
	<option value="1">Banane</option>
	<option value="2">Apfel</option>
	<option value="3">Erbse</option>
	<?php
	}else {
	?>
	<option value="1">PC</option>
	<option value="2">Laptop</option>
	<option value="3">MAC</option>
	<?php
	}
	?>
</select>

Man wählt eine Hauptkategorie aus und daraufhin ändern sich die Werte des unteren Select-Feldes. Das funktioniert laut Firebug Konsole auch, der Quelltext ist z.B für $_POST['value'] = 2

Code:
<script src="/plugins/jquery/jquery-1.10.1.min.js"></script>

<script type="text/javascript">
  $(document).ready(function() {
      $("#selectbox_1").change(function(){
        var id_hauptkategorie=$(this).children('option:selected').val();
        $("#selectbox_2").load("x.php",{value: id_hauptkategorie});
      });
  });  
</script>


<h2>Beispiel</h2>
<label>Hauptkategorie</label>
<select id="selectbox_1">
<option value="0">Bitte wählen...</option>
<option value="1">Fortbewegungsmittel</option>
<option value="2">Gemüse/Obst</option>
<option value="3">Computer</option>
</select>
<label>Unterkategorie</label>
<select id="selectbox_2">
<option value="0">leer</option>
<option value="1">PC</option>
<option value="2">Laptop</option>
<option value="3">MAC</option>
</select>

Also alles völlig korrekt. Wo jetzt mein Problem liegt? Das ich das nur in der Firebug Konsole sehe. Im Browser habe ich diesen Quelltext:

Code:
<script src="/plugins/jquery/jquery-1.10.1.min.js"></script>

<script type="text/javascript">
  $(document).ready(function() {
      $("#selectbox_1").change(function(){
        var id_hauptkategorie=$(this).children('option:selected').val();
        $("#selectbox_2").load("x.php",{value: id_hauptkategorie});
      });
  });  
</script>


<h2>Beispiel</h2>
<label>Hauptkategorie</label>
<select id="selectbox_1">
<option value="0">Bitte wählen...</option>
<option value="1">Fortbewegungsmittel</option>
<option value="2">Gemüse/Obst</option>
<option value="3">Computer</option>
</select>
<label>Unterkategorie</label>
<select id="selectbox_2">
<option value="0">leer</option>
<br />
<b>Notice</b>:  Undefined index: value in <b>C:\xampp\htdocs\x.php</b> on line <b>25</b><br />
<br />
<b>Notice</b>:  Undefined index: value in <b>C:\xampp\htdocs\x.php</b> on line <b>31</b><br />
<option value="1">PC</option>
<option value="2">Laptop</option>
<option value="3">MAC</option>
</select>

Sprich der Request wird ausgeführt aber die Seite nicht aktualisiert und ich weiß absolut nicht warum. Ich nutze bewusst jQuery 1, da ich einige Kunden habe die noch den IE 7 nutzen - mit jQuery 2 habe ich aber den selben Effekt.

Vielen Dank für eure Tipps.
 
"Dein Result im letzten Code-Schnippsel gesehen".
Das Original-Tutorial findet sich 1:1 Hier - warum schreibst Du den nicht an oder liest die Kommentare?

Dass die php-Fehlermeldung fürs Stocken sorgt, ist nicht unwahrscheinlich. Was suchen simple Textfelder in einem Select-Objekt?
Code:
<br />
<b>Notice</b>:  Undefined index: value in <b>C:\xampp\htdocs\x.php</b> on line <b>25</b><br />
<br />
<b>Notice</b>:  Undefined index: value in <b>C:\xampp\htdocs\x.php</b> on line <b>31</b><br />

Ansonsten -> zB http://forum.jquery.com/topic/reload-dom-after-injecting-form-elements
(Nebenbei ist ein Webschreiberling in der Pflicht, solche alten Browser wie IE7(2006) einfach auszusperren - es gibt genau einen Nachteil, einen kurzzeitig mauligen Kunden, und sehr viele Vorteile, die auch den Kunden betreffen)



mfg chmee
 

Neue Beiträge

Zurück