Archívum - Okt 6, 2003 - Fórum téma
Még 1 JS kérdés:
Előző problémámat sikeresen megoldottam, csodás dolog az internet és csodás hogy emberek osztják a tudást mindenféle ellenszolgáltatás nélkül.
Ma reggel a következő dologgal néztem szembe:
Van egy lekérdező formom (nevezzük keresésnek), ahol van 3 dropdown mező. ebből az első 2 smarty generált, a harmadik változik az első kettőből kiváalsztott elemnek megfelelően.
Azt tapasztaltam, hogy IE 6 alatt, amikor elküldöm a formot majd megnyomom a "BACK" gombot, nem resetelődik le a smarty által generált option list, hanem megőrzi az előzőleg elküldött option-t. Természetesen a javascriptel generált dropdown sem töltődik fel, bár számomra ez kicsit ködös hogy miért is van ez?
Ja és a legjobb hogy egy másik fejlesztő kollágánál pedig teljesen jól működik, aka. minden "back"-nél leresetelődik a form.
Gondoltam arra hogy a <body> tagba belerakok egy onLoad() meghívást, ami beállítja a 2 dropdown selectedIndexét 0-ra, de ez nem vezetett a várt eredményre amikor vki megnoymja a browser "back" gombját.
Van vmi tippetek?
Némi kód php-ben, ami előáállítja nekem a javascriptet:
■ Ma reggel a következő dologgal néztem szembe:
Van egy lekérdező formom (nevezzük keresésnek), ahol van 3 dropdown mező. ebből az első 2 smarty generált, a harmadik változik az első kettőből kiváalsztott elemnek megfelelően.
Azt tapasztaltam, hogy IE 6 alatt, amikor elküldöm a formot majd megnyomom a "BACK" gombot, nem resetelődik le a smarty által generált option list, hanem megőrzi az előzőleg elküldött option-t. Természetesen a javascriptel generált dropdown sem töltődik fel, bár számomra ez kicsit ködös hogy miért is van ez?
Ja és a legjobb hogy egy másik fejlesztő kollágánál pedig teljesen jól működik, aka. minden "back"-nél leresetelődik a form.
Gondoltam arra hogy a <body> tagba belerakok egy onLoad() meghívást, ami beállítja a 2 dropdown selectedIndexét 0-ra, de ez nem vezetett a várt eredményre amikor vki megnoymja a browser "back" gombját.
Van vmi tippetek?
Némi kód php-ben, ami előáállítja nekem a javascriptet:
if ($formType == "query") {
$activityresult[] = $db->query($db->select($activity_sql0)); // Fõcsoportok
$activityresult[] = $db->query($db->select($activity_sql1)); // Alvállakozók
$activityresult[] = $db->query($db->select($activity_sql2)); // Tevékenységek
$form->smarty_addsqlselect("activityOptions1","activityValues1","name","activity_id",$activityresult[0]);
$form->smarty_addsqlselect("activityOptions0","activityValues0","name","activity_id",$activityresult[1]);
$form->smarty_addselect("categoryOptions","categoryValues",$categoryFieldValues);
############ Build the javascript ###############
$jscript .= "<SCRIPT lang=\"Javascript\">\n";
$jscript .= "\tvar form = document.organization_query;\n";
$jscript .= "\tvar namearray = new Array();\n";
$jscript .= "\tvar activityarray = new Array();\n";
$jscript .= "\tvar subactarray = new Array();\n";
$i = 0;
while (!$activityresult[2]->EOF) {
$jscript .= "\tnamearray[$i] = '".$activityresult[2]->fields["name"]."';\n";
$jscript .= "\tactivityarray[$i] = ".$activityresult[2]->fields["activity_id"].";\n";
$jscript .= "\tsubactarray[$i] = ".$activityresult[2]->fields["sub_activity_no"].";\n";
$i++;
$activityresult[2]->MoveNext();
}
$jscript .= "\tfunction changecat(option) {\n";
$jscript .= "emptyList();";
$jscript .= "\t\t for (var i=0; i<namearray.length;i++) { \n";
$jscript .= "if (activityarray[i] == option) {\n";
$jscript .= "form.sub_activity_no.options[form.sub_activity_no.length] = new Option(namearray[i],subactarray[i]);\n";
$jscript .= "form.sub_activity_no.selectedIndex=0;";
$jscript .= "}\n";
$jscript .= "}\n";
$jscript .= "}\n";
$jscript .= "function emptyList() { while ( form.sub_activity_no.options.length ) form.sub_activity_no.options[0] = null;}";
##############################################
$jscript .= "</script>";
$smarty->assign("jscript",$jscript);
$smarty->assign("org_type",$org_type);
}