Hallo liebes Forum,
so ich habe mich jetzt dazu entschieden mein Problem hier zu posten, da ich kein vernümpftigen Ansatz finde mein Problem zu lösen.
Folgendes ist meine Aufgabenstellung. Ich habe einen Verwaltungsbereich auf meiner Homepage, dort werden mithilfe einer PHP Schleife Formulare aufgelistet. D.H. je nachdem wieviele Unterbenutzer ein Benutzer hat, wird ein Formular erstellt indem jeweils die Eingabefelder aufgelistet werden. (Unterbenutzer_1 = Anrede, Name, Vorname, etc., Unterbenutzer_2 = Anrede, Name, Vorname, etc.)
Nun ist es jedoch so. Das bei der Erstellung dieser Unternutzer oftmals nicht alle Felder ausgefüllt werden können. Zum Beispiel fehlt bei einem Unterbenutzer die Angabe der E-Mail oder die der Telefonnummer. Das ist auch gewollt und nicht als Fehler deklariert.
Wenn jedoch der Benutzer sich nun einlogt und die Verwaltung der Unterbenutzer öffnet, soll er sofort erkennen welche Felder fehlerhaft also nicht ausgefüllt sind.
Ich habe dazu also ein Script geschrieben, da ich unendlich viel rumprobiert habe ist es jetzt in PHP auskommentiert. Daher bitte nicht wundern:
Das das Script und der dazugehörige PHP Teil völliger Nonsins ist, weiß ich selber. Aber man mag es kaum glauben. Es funktioniert sogar halbwegs.
Wo ich grundsätzlich ein Problem mit habe und wahrscheinlich einfach einen Denkfehler mache ist folgendes.
Ich habe eine Schleife, die mir eine Unbekannte Anzahl von Ergebnissen liefert. Wie gestallte ich mein Script so, das ich alle Eingabefelder erreichen kann ohne das ich die <form>-Tags einzeln benennen muss. Sprich sowie meine php Schleife dynamisch ist, muss es auch das Script sein.
Das andere Problem ist, wobei ich sicherlich mit einem einzelnen Script das außerhalb der Schleife steht klarkommen würde. Ist, das nach dem Seitenaufbau gleich das Script ausgeführt werden soll - ala:
Der Benutzer soll anhand von roten Rahmen erkennen, welche stellen er noch ausfllen muss ClassName wechsel.
Ich hoffe ich konnte mein Problem einigermaßen darstellen. Was meine Kenntnisse in Java angeht, wie man sieht blutiger Anfänger. Allerdings ist das eine interessante Sache, die ich weiter verfolgen will. Für diesen Fall brauche ich jedoch nur diese eine Funktion - das muss ich erstmal so hinbekommen.
Besten Dank im Vorraus
Jolly
so ich habe mich jetzt dazu entschieden mein Problem hier zu posten, da ich kein vernümpftigen Ansatz finde mein Problem zu lösen.
Folgendes ist meine Aufgabenstellung. Ich habe einen Verwaltungsbereich auf meiner Homepage, dort werden mithilfe einer PHP Schleife Formulare aufgelistet. D.H. je nachdem wieviele Unterbenutzer ein Benutzer hat, wird ein Formular erstellt indem jeweils die Eingabefelder aufgelistet werden. (Unterbenutzer_1 = Anrede, Name, Vorname, etc., Unterbenutzer_2 = Anrede, Name, Vorname, etc.)
Nun ist es jedoch so. Das bei der Erstellung dieser Unternutzer oftmals nicht alle Felder ausgefüllt werden können. Zum Beispiel fehlt bei einem Unterbenutzer die Angabe der E-Mail oder die der Telefonnummer. Das ist auch gewollt und nicht als Fehler deklariert.
Wenn jedoch der Benutzer sich nun einlogt und die Verwaltung der Unterbenutzer öffnet, soll er sofort erkennen welche Felder fehlerhaft also nicht ausgefüllt sind.
Ich habe dazu also ein Script geschrieben, da ich unendlich viel rumprobiert habe ist es jetzt in PHP auskommentiert. Daher bitte nicht wundern:
PHP:
<?php
$j = 0;
while ($query_login_array = mysql_fetch_assoc($ergebnis))
{
echo '
<script type="text/javascript">
function checkForm_empty' . $j . '() {
if (document.forms[\'new_user_' . $j . '\'].new_user_firma.value==\'Firma\')
document.forms[\'new_user_' . $j . '\'].new_user_firma.value=\'\';
document.forms[\'new_user_' . $j . '\'].new_user_firma.className=\'adressbox_firma\';
}
function checkForm_full' . $j . '() {
if (document.forms[\'new_user_' . $j . '\'].new_user_firma.value==\'\')
document.forms[\'new_user_' . $j . '\'].new_user_firma.value=\'Firma\';
document.forms[\'new_user_' . $j . '\'].new_user_firma.className=\'adressbox_firma_empty\';
}
</script>';
if(empty($query_login_array["user_firma"])){$query_login_array["user_firma"]="Firma";$class="adressbox_firma_empty";}else{$class="adressbox_firma";}
echo ' <table class="choice_table"><tr>
<form name="new_user_' . $j . '" action="work.php?add_user=true" method="post">
<td width="310">Benutzername: ' . $query_login_array["user_name"] . '</td>
</tr>
<tr>
<td><input onfocus=\'checkForm_empty' . $j . '()\' onblur=\'checkForm_full' . $j . '()\' class="' . $class . '" maxlength="50" type="text" value="' . $query_login_array["user_firma"] . '" name="new_user_firma"></td>
<td align="left">Frima</td>
</tr>........usw.
Wo ich grundsätzlich ein Problem mit habe und wahrscheinlich einfach einen Denkfehler mache ist folgendes.
Ich habe eine Schleife, die mir eine Unbekannte Anzahl von Ergebnissen liefert. Wie gestallte ich mein Script so, das ich alle Eingabefelder erreichen kann ohne das ich die <form>-Tags einzeln benennen muss. Sprich sowie meine php Schleife dynamisch ist, muss es auch das Script sein.
Das andere Problem ist, wobei ich sicherlich mit einem einzelnen Script das außerhalb der Schleife steht klarkommen würde. Ist, das nach dem Seitenaufbau gleich das Script ausgeführt werden soll - ala:
HTML:
<body onload="function()">
Der Benutzer soll anhand von roten Rahmen erkennen, welche stellen er noch ausfllen muss ClassName wechsel.
Ich hoffe ich konnte mein Problem einigermaßen darstellen. Was meine Kenntnisse in Java angeht, wie man sieht blutiger Anfänger. Allerdings ist das eine interessante Sache, die ich weiter verfolgen will. Für diesen Fall brauche ich jedoch nur diese eine Funktion - das muss ich erstmal so hinbekommen.
Besten Dank im Vorraus
Jolly