Nemesis
N3RD
Hi,
ich habe hier eine Liste von Checkboxen, die dynamisch anhand einer Datenbankabfrage erstellt wird. zu jeder Checkbox gehört ein Textfeld. Mit der Checkbox wird der Artikel ausgewählt und in das Textfeld die gewünschte Anzahl eingegeben.
Ich hätte nun gerne, dass aber nur die Textfelder aktiv sind, deren Checkboxen auch angehakt sind.
Die Checkboxen und Textfelder werden per POST in jeweils einem array übergeben, dann wird mit einer Schleife errechnet wieviel von jedem Artikel angefordert werden muss.
Das ganze mache ich bislang etwas unsauber:
und verarbeitet wird es dann in einer foreach-Schleife, die das Artikel-Array durchläuft und gleichzeitig über ein NEXT($AnzArtikel) das Array mit der Anzahl.
Problem ist jetzt:
Wenn z.B. jemand einen Haken bei Artikel 3 setzt und aber bei Artikel 1 eine Anzahl eintippt, wird Artikel 3 mit der Anzahl von Artikel 1 berechnet, das soll aber nicht gehen, also möchte ich das Textfeld nur aktivieren, wenn auch der zugehörige Artikel aktiviert wurde.
Mit Javascript dürfte das schwierig werden, da ich ja die ausgabe der Checkboxen dynamisch über eine schleife mache.
kann man das sonst noch irgendwie lösen ?
Danke !
ich habe hier eine Liste von Checkboxen, die dynamisch anhand einer Datenbankabfrage erstellt wird. zu jeder Checkbox gehört ein Textfeld. Mit der Checkbox wird der Artikel ausgewählt und in das Textfeld die gewünschte Anzahl eingegeben.
Ich hätte nun gerne, dass aber nur die Textfelder aktiv sind, deren Checkboxen auch angehakt sind.
Die Checkboxen und Textfelder werden per POST in jeweils einem array übergeben, dann wird mit einer Schleife errechnet wieviel von jedem Artikel angefordert werden muss.
Das ganze mache ich bislang etwas unsauber:
PHP:
echo '<form name="Artikel" action="'.$_SERVER['PHP_SELF'].'" method="POST">';
echo 'Artikel:<br>';
while($artikel = mssql_fetch_assoc($moegliche_Artikel))
{
$q_vorbelegungArtikel = "SELECT StandMenge, Einheit FROM WK50Artikel WHERE Artikel='".$artikel['Artikel']."';";
$vorbelegungArtikel = mssql_query($q_vorbelegungArtikel);
$vorbelegungArtikel = mssql_fetch_assoc($vorbelegungArtikel);
$Einheit = $vorbelegungArtikel['Einheit'];
$vorbelegungArtikel = $vorbelegungArtikel['StandMenge'];
echo '<input type="checkbox" name="Artikel[]" value="'.$artikel['Artikel'].'" >'.$artikel['Artikel'].": ";
echo '<input type="text" name="AnzArtikel[]" style="text-align: right" size="5" value="'.$vorbelegungArtikel.'"> '.$Einheit.'<br>';
}
echo '<input type="submit" value="Hinzufuegen">';
echo '</form>';
und verarbeitet wird es dann in einer foreach-Schleife, die das Artikel-Array durchläuft und gleichzeitig über ein NEXT($AnzArtikel) das Array mit der Anzahl.
Problem ist jetzt:
Wenn z.B. jemand einen Haken bei Artikel 3 setzt und aber bei Artikel 1 eine Anzahl eintippt, wird Artikel 3 mit der Anzahl von Artikel 1 berechnet, das soll aber nicht gehen, also möchte ich das Textfeld nur aktivieren, wenn auch der zugehörige Artikel aktiviert wurde.
Mit Javascript dürfte das schwierig werden, da ich ja die ausgabe der Checkboxen dynamisch über eine schleife mache.
kann man das sonst noch irgendwie lösen ?
Danke !