atlantyz
Erfahrenes Mitglied
Hallo Leute,
ich brauche mal wieder eure Hilfe. Leider weiß ich diesmal nicht so genau, wo mein Thema hingehört: eher PHP oder eher Javascript Forum. Ich denke aber, dass es eher hier hin gehört (ansonsten bitte verschieben).
Mein Problem:
ich gebe in ein Input- Feld etwas ein und ein neues Fenster (in dem Fall wird einfach ein gelber Kasten geöffnet) öffnet sich, in dem ich aus einer Tabelle Kunden wählen kann, die dann automatisch in das Input- Feld übernommen werden sollen.
Die Daten der Tabelle werden aus einer Datenbank mittels PHP gezogen, markieren kann man die Kunden mittels Radio- Button, der einen Value besitzt, der die Kunden ID hat. Nun möchte ich beim klicken die Kunden ID (also den Value des Button) in ein verstecktes Input Feld schreiben, damit dieses dann bei einem Submit mitgesendet wird.
Beim ersten Aufruf des Fensters möchte ich, dass der Value des ersten Eintrages (der automatisch markiert ist), in das versteckte Input- Feld geschrieben wird. Mit einem onclick geht das nicht, da ich ja beim ersten Mal nicht klicke. Also habe ich mir folgendes gedacht: ich rufe die Funktion einfach 1 Mal ohne Event auf.
Das sieht dann in etwa so aus:
(Habe jetzt nur mal die Schleife hier gepostet, der restliche Quelltext sollte eig. nichts mehr damit zu tun haben.)
Die Funktion liegt in der Datei lib_ticket.js und wird auch eingebunden (beim onclick- Event wird die Funktion auch ausgeführt). Hier die Funktion:
Ich bekomme keine Fehlermeldung im Firefox und schaue ich mir die Fehlerbehandlung mit Firebug an, so wird die Funktion auch angezeigt, ich weiß nur nicht, warum er das Feld nicht mit dem übergebenen Wert füllt.
Habe ich vielleicht beim einbinden etwas falsch gemacht?
Anmerkung:
hier noch mal der code aus Sicht von html:
ich brauche mal wieder eure Hilfe. Leider weiß ich diesmal nicht so genau, wo mein Thema hingehört: eher PHP oder eher Javascript Forum. Ich denke aber, dass es eher hier hin gehört (ansonsten bitte verschieben).
Mein Problem:
ich gebe in ein Input- Feld etwas ein und ein neues Fenster (in dem Fall wird einfach ein gelber Kasten geöffnet) öffnet sich, in dem ich aus einer Tabelle Kunden wählen kann, die dann automatisch in das Input- Feld übernommen werden sollen.
Die Daten der Tabelle werden aus einer Datenbank mittels PHP gezogen, markieren kann man die Kunden mittels Radio- Button, der einen Value besitzt, der die Kunden ID hat. Nun möchte ich beim klicken die Kunden ID (also den Value des Button) in ein verstecktes Input Feld schreiben, damit dieses dann bei einem Submit mitgesendet wird.
Beim ersten Aufruf des Fensters möchte ich, dass der Value des ersten Eintrages (der automatisch markiert ist), in das versteckte Input- Feld geschrieben wird. Mit einem onclick geht das nicht, da ich ja beim ersten Mal nicht klicke. Also habe ich mir folgendes gedacht: ich rufe die Funktion einfach 1 Mal ohne Event auf.
Das sieht dann in etwa so aus:
PHP:
while ($kunde = mysql_fetch_assoc($erg))
{
$farbe = hintergrund();
echo "<tr bgcolor = '" . $farbe . "'>\n";
echo " <td>\n";
if ($z == 1)
{
echo "<script language = 'JavaScript'>"; //hier wird die Funktion aufgerufen, um die es geht!
echo "nrinfeld(\"".$kunde["kunde_id"]."\");";
echo "</script>";
echo " <input type = 'radio' name = 'kundenauswahl' value = '" . $kunde["kunde_id"] . "' onclick = 'nrinfeld(\"".$kunde["kunde_id"]."\")' checked>\n";
}
else {
echo " <input type = 'radio' name = 'kundenauswahl' value = '" . $kunde["kunde_id"] . "' onclick = 'nrinfeld(\"".$kunde["kunde_id"]."\")' >\n";
}
echo " </td>\n";
echo " <td>\n";
echo " " . $kunde["tel"] . "\n";
echo " </td>\n";
echo " <td>\n";
db_connect_intranet_alt();
$geraet_suche = "select g_name from geraet where g_id = '" . $kunde["pc"] . "'";
$ergg = mysql_query($geraet_suche);
$geraet = @mysql_result($ergg,0,"g_name");
echo "<b> " . $geraet . "</b>\n";
echo " </td>\n";
if($kunde["pc"] == '0'){
$kunde["pc"] = '';
}
echo "<td>".$kunde["pc"]."</td>";
echo " <td>\n";
echo " " . $kunde["name"] . "\n";
echo " </td>\n";
echo " <td>\n";
echo " " . $kunde["vorname"] . "\n";
echo " </td>\n";
echo " <td>\n";
echo " " . $kunde["standort"] . "\n";
echo " </td>\n";
echo "</tr>\n";
$z = $z + 1;
}
(Habe jetzt nur mal die Schleife hier gepostet, der restliche Quelltext sollte eig. nichts mehr damit zu tun haben.)
Die Funktion liegt in der Datei lib_ticket.js und wird auch eingebunden (beim onclick- Event wird die Funktion auch ausgeführt). Hier die Funktion:
Code:
function nrinfeld(nr)
{
document.getElementsByName('kundenr')[0].value = nr;
}
Ich bekomme keine Fehlermeldung im Firefox und schaue ich mir die Fehlerbehandlung mit Firebug an, so wird die Funktion auch angezeigt, ich weiß nur nicht, warum er das Feld nicht mit dem übergebenen Wert füllt.
Habe ich vielleicht beim einbinden etwas falsch gemacht?
Anmerkung:
hier noch mal der code aus Sicht von html:
HTML:
<tr bgcolor = '#F0F0F0'>
<td>
<script language = 'JavaScript'>nrinfeld("27");</script> <input type = 'radio' name = 'kundenauswahl' value = '27' onclick = 'nrinfeld("27")' checked>
</td>
<td>
1132
</td>
Zuletzt bearbeitet: