On my site I have a page that takes input into a MySQL database
(though this isn't a db question).
Each entry has a category and a subcategory entry, which should come
from predefined lists and are therefore instituted as pull-down
lists. The category list is in a PHP array which feeds a SELECT
pull-down list. The subcategory choices should depend upon what
category is selected. In order to ease user input, I've used a
javascript function to cause the subcategory pulldown to depend upon
the category selection. Thus if the category is Animals, the
subcategory SELECT would show "dog", "cat", "fish" - but if the
category were "Colors" the possible subcategories might be "Red",
"Green", "Yellow", "Puce".
On the initial entry - a blank record - this all works fine. But if
I go back in to modify a record I run into trouble, as I can't make
the page reflect the stored value of the subcategory within the
pull-down list (i.e. as the SELECTED item).
I use the following PHP code to display the $categories array - and
if there is a stored value ( $formValues["category"] ) it displays
that selection as "SELECTED" - which is exactly right.
printf("<TR><TD>Category </TD>");
printf("<TD><SELECT NAME=category ONCHANGE=\"updateCats()\">\n");
printf("<OPTION VALUE=0> === Select One === </OPTION>\n");
$i=0;
while ($i < count($categories)) {
printf("<OPTION VALUE=%s %s>%s</OPTION>\n",
$categories[$i],
$categories[$i] == $formValues["category"] ? "SELECTED" : "",
$categories[$i]);
$i++;
}
printf("</SELECT></TD></TR>);
But when it comes to the Sub-Category the list that feeds the SELECT
list is not in an array, but is coming from the JavaScript function
like:
if(subCategoryIndex == 1) // Colors
document.search.subcategory.options[1] = new Option('Red');
document.search.subcategory.options[1].value = "red";
document.search.subcategory.options[2] = new Option('Blue');
document.search.subcategory.options[2].value = "blue";
...etc...
I can't figure a way to make the 'Update' version of the page display
the value of the Sub-Category in a select list (so that the user CAN
update it). I can certainly have the value display, but it no long
has the other possible members of the list, since it's not coming
from a display.
I couldn't see a way to do this (updating one form element from
another) completely in PHP - else I would have.
Does anyone have any ideas?
Could I feed a PHP array FROM JavaScript? If I could get the
subcategory selection list into an arry I think I could make this
work.
Or possibly use another JavaScript script inside the PHP portion of
the page in order to force it to mark the appropriate item
"SELECTED"? I tried this but couldn't make it work.
Any help is appreciated - Thanks,
Nelson
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]