C
Chrischnian
Hallo Leute!
Möglich soll folgendes sein!
4 Select Boxen, eine wird von PHP beim öffnen der Seite geladen.
Die 2 wird beim auswählen des Kunden der in der ersten erscheint geladen danach wählt man ein Projekt aus der 2 aus und die dritte sowie die 4 wird jeweils neu generiert!
Das alles Funktioniert im FireFox aber leider streikt der Internet Explorer!
Wer kann mir dabei helfen das JS bzw die Rückgabe in die Seite zu verbessern das Sie sowohl im FF als auch im IE funktioniert.
Hier mein JS
Hier der Formular teil von wo gesendet und wieder empfangen wird
Und einer der Dateien die neu geladen wird:
Wäre super wenn ich Tipps bekommen würde!
Möglich soll folgendes sein!
4 Select Boxen, eine wird von PHP beim öffnen der Seite geladen.
Die 2 wird beim auswählen des Kunden der in der ersten erscheint geladen danach wählt man ein Projekt aus der 2 aus und die dritte sowie die 4 wird jeweils neu generiert!
Das alles Funktioniert im FireFox aber leider streikt der Internet Explorer!
Wer kann mir dabei helfen das JS bzw die Rückgabe in die Seite zu verbessern das Sie sowohl im FF als auch im IE funktioniert.
Hier mein JS
Code:
function sendRequest(choice) {
try {
req = window.XMLHttpRequest?new XMLHttpRequest():
new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
//Kein AJAX Support
}
if(choice == "projekt") {
req.onreadystatechange = handleResponse;
req.open("GET", 'includes/function/ajax/projekte.php?s='+ document.getElementById('Kunden').value);
} else if(choice == "bauteil") {
req.onreadystatechange = handleResponse;
req.open("GET", 'includes/function/ajax/bauteile.php?s='+ document.getElementById('projekt').value);
}
req.send(null);
}
function handleResponse() {
if ((req.readyState == 4) && (req.status == 200)) {
var update = new Array();
var teilen = new Array();
var response = req.responseText;
if(response.indexOf('||' != -1)) {
teilen = response.split('++');
update = teilen[0].split('||');
document.getElementById(update[0]).innerHTML = update[1];
update2 = teilen[1].split('||');
document.getElementById(update2[0]).innerHTML = update2[1];
}
}
}
Hier der Formular teil von wo gesendet und wieder empfangen wird
HTML:
<form method="post" action="includes/function/functionuser/taetigkeit/inserttaetigkeit.php" name="Eingabeformular"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Kunde:</td>
<td><select name="hersteller" id="Kunden" onChange="sendRequest('projekt')" size="1">
<option value="">Bitte auswählen</option>';
<?php
$sql = 'SELECT * FROM kunde where kunde_status = "1"';
$ergebnis = mysql_query($sql);
while($data = mysql_fetch_array($ergebnis)){
?>
<option value="<?php echo $data["kunde_id"]; ?>"
<?php if ($data["kunde_id"] == $kunde) {?> selected <?php } ?>><?php echo $data["kunde_nr"]; ?> - <?php echo $data["kunde_name"]; ?></option>
<?php } ?>
</select></td>
</tr>
<tr>
<td>Projekt:</td>
<td><select name="projekt" id="projekt" onChange="sendRequest('bauteil')" size="1"></select></td>
</tr>
<tr>
<td>Bauteil:</td>
<td><select name="bauteil" id="bauteil" size="1"></select></td>
</tr>
<tr>
<td>Art der Tätigkeit:</td>
<td><select name="art" id="art" size="1"></select></td>
</tr>
<tr>
<td>Kommentar:</td>
<td><textarea id="MyTextarea" name="MyTextarea">This is <b>the</b> initial value.</textarea></td>
</tr>
<tr><td> </td></tr>
<tr>
Und einer der Dateien die neu geladen wird:
PHP:
<?php
include_once("../../../config/configdaten.php");
include_once("../../checkuser.php");
$uebergabe = 'bauteil||';
$uebergabe .= '<option value="">Bitte auswählen</option>';
$result = mysql_query('SELECT * FROM bauteil WHERE bauteil_projektid = "'.$_GET['s'].'" AND bauteil_status = "1";');
while($row = mysql_fetch_object($result))
{
$uebergabe .= '<option value="'.$row->bauteil_id.'">'.$row->bauteil_bezeichnung.'</option>';
}
$uebergabe .= '++art||';
$uebergabe .= '<option value="">Bitte auswählen</option>';
$result = mysql_query('SELECT * FROM preiskategorien WHERE preiskategorien_projektid = "'.$_GET['s'].'"');
while($row = mysql_fetch_object($result))
{
$uebergabe .= '<option value="'.$row->preiskategorien_id.'">'.$row->preiskategorien_bezeichnung.'</option>';
}
echo trim($uebergabe, " ");
?>
Wäre super wenn ich Tipps bekommen würde!