ajtak: Funktioniert im Firefox, aber nicht im IE

Beitrag lesen

Guten Morgen,
danke für eure Hinweise und ja-ihr habt Recht, ich hab mich wahrscheinlich mit erklärenden Erläuterungen etwas zu sehr zurück gehalten. Was auch zugegebenermaßen an meiner eigenen Unfähigkeit liegt, das alles zu begreifen. Ich bin kein Programmierer und der Typ, der das ganze erstellt hat, nur laienhaft. Von daher konnte der mir auch nicht helfen.

Also, nochmal der erste Teil:

<script type="text/javascript">
function SetValue (name,wert) {
if (document.getElementById(name)) {
if (document.getElementById(name).type == "checkbox") {
if ((wert) && (wert != 0)) document.getElementById(name).checked=true
else document.getElementById(name).checked=false;
} else if (wert) document.getElementById(name).value = wert;

} else if (document.getElementsByName(name)) {
if (wert)
for each (var radio in document.getElementsByName(name))
if (radio.value == wert)  radio.checked = true;}
}
</script>

Diese Funktion wird später aufgerufen (im 2. Teil) und es sollen die Werte aus der mysql-Tabelle in die entsprechenden Formularfelder (vorwiegend Checkboxen und Radiobutton) übertragen werden.

Der 2. von mir gepostete Teil:

<?php
if ($_POST["DS_ID"]) { //wenn DS_ID übergeben wurde
if (!$sql = mysql_connect("blabla","blabla","")) die("kein Connect möglich");
if (!$db = mysql_select_db("datenbankname", $sql)) die("Datenbank nicht gefunden");
$DS_ID=$_POST["DS_ID"];
$query = "SELECT * FROM tbl_0  where PatID=$DS_ID";
echo "<p>so sieht mein SQL-String aus: <strong>$query</strong></p>\n";
$werte=mysql_query($query);
if (!werte) { echo("<p><strong>Achtung ! DS_ID wurde übergeben ... Aber die SQL-Abfrage konnte nicht durchgeführt werden !</strong></p>");
} else {
if ($row = mysql_fetch_array($werte, MYSQL_ASSOC)) { echo "<script type="text/javascript">\n<!--\n";
foreach (array_keys ($row) as $varname) {
$JS_string= "SetValue("$varname","$row[$varname]");";
echo "$JS_string\n"; }
echo "-->\n</script>\n";
} else { echo("<p><strong>Achtung ! DS_ID wurde übergeben ... Aber es wurde kein passender Datensatz gefunden !</strong></p>");
}
}
 if (!werte)
mysql_free_result($werte);
}
if ($_POST["DS_ID"]) { //wenn DS_ID übergeben wurde
?>

Dieser Teil soll die Verbindung zur Datenbank herstellen. Die Zeile:

$JS_string= "SetValue("$varname","$row[$varname]");";

ruft meines Erachtens die JS-Funktion (1. Teil) auf.

Mittels des Scriptdebuggers vom IE habe ich herausgefunden, dass wohl diese Zeile das Problem darstellen muss, zumindest gehts da nicht weiter und es kommt die Fehlermeldung: JScript-Debugger: Unterbrechung bei JScript-Laufzeitfehler-Objekt erwartet.

Ich hoffe, das hilft irgendwie weiter!?
Wenn ja, freu ich mich sehr und wenn nein, trotzdem vielen Dank an die Leute, die mein Zeug gelesen habe!

MfG
ajtak

Hi,

Es war ein Versuch Hilfe zu bekommen, aber ich hab schon desöfteren bemerkt, dass man schnell aggressive Antworten bekommt. Man kann Dinge nämlich auch in einem netten Ton verpacken-nur so nebenbei!

ich stimme dir völlig zu, was den Ton betrifft - aber bitte zieh dir auch den Schuh an, der dir zugedacht war:
* Du wirfst uns eine Menge Code ohne Erläuterung hin.
* Du verrätst nicht, was der Code eigentlich tun soll, und was er tatsächlich tut oder nicht tut.
   "Funktioniert im Firefox, aber nicht im Internet Explorer" sagt leider gar nichts.
* Du scheinst ein Javascript-Problem zu haben, postest aber in der zweiten Hälfte PHP-Code.
   Das hilft natürlich nicht weiter, sondern macht's nur komplizierter.
* Du lässt keinen Ansatz erkennen, dass du selbst schon versucht hättest, den Fehler zu finden.

Ich dachte, dass es bestimmte Schlagworte gibt, die ein Profi sofort erkennt und mir sagt, dass funktioniert im IE nicht. und falls nicht, wie bereits erwähnt, dass einfach so sagen.
Der Code ist im übrigen nicht von mir-aber das tut nichts zur Sache.

Vielleicht doch. Denn dann wäre die Quelle, wo du diesen Code her hast, auch die erste Stelle, an der man Fragen dazu plazieren (bzw. nach Antworten suchen) sollte. Hier im Forum Hilfe zu suchen, ist natürlich auch okay, erfordert aber etwas Vor- und Mitarbeit von deiner Seite, denn wir kennen das Script noch weniger aus du.

So long,
Martin