magnificent
Mitglied
Hallo,
ich hab ein Problem mit einer Ajax Anwendung im IE, beim Firefox funktioniert alles...
Ich habe eine Tabelle mit Daten und in jeder <tr> hängt eine Funktion, die per Klick aufgerufen wird:
die zugehörige Funktion:
In der zugehörigen php-Datei (befindet sich im selben Script) wird nun eine SQL-Abfrage gemacht und dann ein Formular mit Tabelle (für die Strukturierung) ausgegeben.
Wenn man im IE nun die <tr> anklickt, wird das Formular auch Ausgegeben, doch wenn ich die Daten in der DB ändere dann ändern sich die Daten in dem Formular nicht, dort werden immer noch die alten Daten vom ersten onclick() angezeigt - aber das die Daten geändert wurden sieht man in der Tabelle, auf die der onclick() ausgeführt wurde- halt nur nicht im Formular
Wenn man den Cache lehrt und dann nochmal die Seite aufruft und den onclick macht, werden die aktualisierten Daten angezeigt.
2.Problem:
Das 'generierte' Formular führt seine Funktion (ein update) nicht aus.
Aber alle 2 Problem treten nur im IE auf.
Ich hoffe man versteht was ich meine, es ist irgendwie schwer zu beschreiben.
Mfg
p.s.: Ist es eigentlich normal das man die per Ajax eingeügten Daten nicht per ViewSource sehen kann? Da ist immer nur der <span> Container (ist im IE und Firefox so).
ich hab ein Problem mit einer Ajax Anwendung im IE, beim Firefox funktioniert alles...
Ich habe eine Tabelle mit Daten und in jeder <tr> hängt eine Funktion, die per Klick aufgerufen wird:
HTML:
<tr javascript: onclick="sndReq2('.$row['testat_id'].')">
Code:
function sndReq2(klick) {
resObjekt.open('get', 'testat_anlegen.php?von='+klick,true);
resObjekt.onreadystatechange = handleResponse;
resObjekt.send(null);
}
In der zugehörigen php-Datei (befindet sich im selben Script) wird nun eine SQL-Abfrage gemacht und dann ein Formular mit Tabelle (für die Strukturierung) ausgegeben.
PHP:
if($_REQUEST['von'])
{
$sql = "SELECT testat_id, testat_bez, start_datum, end_datum FROM tbl_testat where testat_id = ".$_REQUEST['von'];
$result = do_sql($sql);
while ($row = mysql_fetch_array($result, MYSQL_BOTH))
{
$startdatum_unix=strtotime($row['start_datum']);
$startday=date("dd",$startdatum_unix);
$startmonth=date("mm",$startdatum_unix);
$startyear=date("YYYY",$startdatum_unix);
if ($row['end_datum']){
$enddatum_unix=strtotime($row['end_datum']);
$endday=date("dd",$enddatum_unix);
$endmonth=date("mm",$enddatum_unix);
$endyear=date("YYYY",$enddatum_unix);
}
echo'
<form id="testat_anendern" method="post" action="admin.php?site=testat_anlegen">
<input type="hidden" name="testat_id" maxlength="75" value="'.$row['testat_id'].'" />
<table>
<tr>
<td class="fragestellung" width="40%">Testatbezeichnung: </td><td class="fragestellung" width="60%"><input type="text" name="testatbez" maxlength="75" value="'.$row['testat_bez'].'" /></td>
</tr>
<tr>
<td class="fragestellung" width="40%">Startdatum (dd mm yyy): </td><td class="fragestellung" width="60%">
<input type="text" name="start_day" class="date" maxlength="2" value="'.$startday.'" />
<input type="text" name="start_month" class="date" maxlength="2" value="'.$startmonth.'" />
<input type="text" name="start_year" class="year" maxlength="4" value="'.$startyear.'" /></td>
</tr>
<tr>
<td class="hinweis" width="40%">Enddatum (dd mm yyy): * </td><td class="fragestellung" width="60%">
<input type="text" name="end_day" class="date" maxlength="2" value="'.$endday.'" />
<input type="text" name="end_month" class="date" maxlength="2" value="'.$endmonth.'" />
<input type="text" name="end_year" class="year" maxlength="4" value="'.$endyear.'" /></td>
</tr>
</table>
<br />
<table>
<tr>
<td width="50%"><input type="reset" value="Abbrechen" class="button" /></td><td width="50%"><input type="submit" name="Aendern" value="Testat aendern" class="button" /></td>
</tr>
</table>
</form>';
}
}
Wenn man im IE nun die <tr> anklickt, wird das Formular auch Ausgegeben, doch wenn ich die Daten in der DB ändere dann ändern sich die Daten in dem Formular nicht, dort werden immer noch die alten Daten vom ersten onclick() angezeigt - aber das die Daten geändert wurden sieht man in der Tabelle, auf die der onclick() ausgeführt wurde- halt nur nicht im Formular
Wenn man den Cache lehrt und dann nochmal die Seite aufruft und den onclick macht, werden die aktualisierten Daten angezeigt.
2.Problem:
Das 'generierte' Formular führt seine Funktion (ein update) nicht aus.
Aber alle 2 Problem treten nur im IE auf.
Ich hoffe man versteht was ich meine, es ist irgendwie schwer zu beschreiben.
Mfg
p.s.: Ist es eigentlich normal das man die per Ajax eingeügten Daten nicht per ViewSource sehen kann? Da ist immer nur der <span> Container (ist im IE und Firefox so).