Hi,
ich hab ein Problem, mein Formular mit DropDowns wird aus einer SQL Abfrage gefüllt, sobald ich aber nun mehrere Sachen anwählen möchte, dann brauche ich ja ein Array... Dabei komme ich aber nicht weiter, da ich ein JavaScript Noob bin... Vllt könnt ihr mir ja helfen:
So, nun zu meiner Frage: Was muss ich ändern, damit ich mehrere Dinge aus den DropDowns auswählen kann, und diese dann von der grabCategories2.php wieder vernünftig zurückgegeben wird?
Das ist die Display2.php. Hier sind die Dropdowns und die Refill_Sub() -Funktion ... Diese Display2.php übergibt die ausgewählten Werte an die grabCategories2.php und diese wieder zurück an die Display2.php, gelistet weiter unten. Ich hab die Datei mal ein wenig gekürzt, ein Dropdown zur Erklärung sollte ja reichen...
MfG Stefan
-----------------------------------Display2.php--------------------------
-->
</SCRIPT>
</HEAD>
<BODY onload="BodyLoad();">
<FORM name="FormName" method="POST" action="pagetosendto2.php">
<TABLE border="1">
<TR>
<TD align="left" valign="top">Projekt ausw\344hlen<br>
<SELECT multiple="multiple" name="Main_category" size="9"></SELECT>
</TD>
<TD align="left" valign="top">Host ausw\344hlen<br>
<SELECT multiple="multiple" name="Sub_category" size="9" ></SELECT>
</TD></TR>
<TR>
<TD align="right">
<input type="button" value="ausw\344hlen" onclick="Refill_Sub();">
</TD>
<TD align="right">
<input type="button" value="ausw\344hlen" onclick="Refill_Sub();">
</TD>
</TR>
</TABLE>
......
-----------------------------------------grabCategories2.php----------------------------
ich hab ein Problem, mein Formular mit DropDowns wird aus einer SQL Abfrage gefüllt, sobald ich aber nun mehrere Sachen anwählen möchte, dann brauche ich ja ein Array... Dabei komme ich aber nicht weiter, da ich ein JavaScript Noob bin... Vllt könnt ihr mir ja helfen:
So, nun zu meiner Frage: Was muss ich ändern, damit ich mehrere Dinge aus den DropDowns auswählen kann, und diese dann von der grabCategories2.php wieder vernünftig zurückgegeben wird?
Das ist die Display2.php. Hier sind die Dropdowns und die Refill_Sub() -Funktion ... Diese Display2.php übergibt die ausgewählten Werte an die grabCategories2.php und diese wieder zurück an die Display2.php, gelistet weiter unten. Ich hab die Datei mal ein wenig gekürzt, ein Dropdown zur Erklärung sollte ja reichen...
MfG Stefan
-----------------------------------Display2.php--------------------------
PHP-Code:
<?php
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
function BodyLoad() {
var select = document.FormName.Main_category;
var sub_select = document.FormName.Sub_category;
var sub_select2 = document.FormName.Sub_category2;
var sub_select3 = document.FormName.Sub_category3;
var sub_select4 = document.FormName.Sub_category4;
select.options[0] = new Option("Choose One");
select.options[0].value = 0;
<?PHP
//--------------Dropdown Projekt------------------
$ctr = 1;
While( $Row = mysql_fetch_array($Result) ) {
$Main_category = str_replace('"', '\"', "$Row[Projektname]");
if( $ctr != 1 )
echo "\t\t\tselect.options[$ctr] = new Option(\"".$Main_category."\");\n";
else
echo "select.options[$ctr] = new Option(\"".$Main_category."\");\n";
echo "\t\t\tselect.options[$ctr].value = \"".$Main_category."\";\n";
echo "\t\t\tif( select.options[$ctr].value == \"".$_POST['maincat']."\" ) {\n";
echo "\t\t\t\tselect.options[$ctr].selected = true;\n";
echo "\t\t\t}\n";
$ctr++;
}
echo "\n";
//--------------Dropdown Host ausw\344hlen------------------
if( $_POST['maincat'] != "" ) {
$Query2="Abfrage.....='".$_POST['maincat']."')= ...)";
$Result2 = mysql_db_query( $DBName, $Query2, $Link );
$ctr = 0;
While( $Row2 = mysql_fetch_array($Result2) ) {
$Sub_category = str_replace('"', '\"', "$Row2[Hostname]");
echo "\t\t\tsub_select.options[$ctr] = new Option(\"$Sub_category\");\n";
echo "\t\t\tsub_select.options[$ctr].value = \"$Sub_category\";\n";
echo "\t\t\tif( sub_select.options[$ctr].value == \"" . $_POST['subcat'] . "\" ) {\n";
echo "\t\t\t\tsub_select.options[$ctr].selected = true;\n";
echo "\t\t\t}\n";
$ctr++;
}
}
echo "\n";
...............
mysql_close($Link);
?>
PHP-Code:
function Refill_Sub() {
var maincat = document.FormName.Main_category.value;
var subcat = document.FormName.Sub_category.value;
var subcat2 = document.FormName.Sub_category2.value;
window.location = "grabCategories2.php?maincat=" + maincat + "&subcat=" + subcat + "&subcat2=" + subcat2
}
</SCRIPT>
</HEAD>
<BODY onload="BodyLoad();">
<FORM name="FormName" method="POST" action="pagetosendto2.php">
<TABLE border="1">
<TR>
<TD align="left" valign="top">Projekt ausw\344hlen<br>
<SELECT multiple="multiple" name="Main_category" size="9"></SELECT>
</TD>
<TD align="left" valign="top">Host ausw\344hlen<br>
<SELECT multiple="multiple" name="Sub_category" size="9" ></SELECT>
</TD></TR>
<TR>
<TD align="right">
<input type="button" value="ausw\344hlen" onclick="Refill_Sub();">
</TD>
<TD align="right">
<input type="button" value="ausw\344hlen" onclick="Refill_Sub();">
</TD>
</TR>
</TABLE>
......
-----------------------------------------grabCategories2.php----------------------------
PHP-Code:
<html>
<head>
<script language="javascript">
<!--
function BodyLoad() {
document.FormName.maincat.value = "<?PHP echo stripslashes(str_replace( '"', '%22', $_GET['maincat'])); ?>";
document.FormName.subcat.value = "<?PHP echo stripslashes(str_replace( '"', '%22', $_GET['subcat'])); ?>";
document.FormName.subcat2.value = "<?PHP echo stripslashes(str_replace( '"', '%22', $_GET['subcat2'])); ?>";
}
-->
</script>
</head>
<body onload="BodyLoad();">
<form name="FormName" method="POST" action="display2.php">
<input type="hidden" name="maincat">
<input type="hidden" name="subcat">
<input type="hidden" name="subcat2">
</form>
</body>
</html>
Kommentar