ugrás a tartalomhoz

Archívum - Okt 6, 2003 - Fórum téma

Még 1 JS kérdés:

quasimidi · 2003. Okt. 6. (H), 09.49
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:
  1. if ($formType == "query") {  
  2.   
  3.   
  4. $activityresult[] = $db->query($db->select($activity_sql0)); // F&otilde;csoportok  
  5. $activityresult[] = $db->query($db->select($activity_sql1)); // Alvállakozók  
  6. $activityresult[] = $db->query($db->select($activity_sql2)); // Tevékenységek  
  7.   
  8. $form->smarty_addsqlselect("activityOptions1","activityValues1","name","activity_id",$activityresult[0]);  
  9. $form->smarty_addsqlselect("activityOptions0","activityValues0","name","activity_id",$activityresult[1]);  
  10. $form->smarty_addselect("categoryOptions","categoryValues",$categoryFieldValues);  
  11.       
  12. ############ Build the javascript ###############  
  13. $jscript .= "<SCRIPT lang=\"Javascript\">\n";  
  14.   
  15. $jscript .= "\tvar form = document.organization_query;\n";  
  16. $jscript .= "\tvar namearray = new Array();\n";  
  17. $jscript .= "\tvar activityarray = new Array();\n";  
  18. $jscript .= "\tvar subactarray = new Array();\n";  
  19. $i = 0;  
  20.   
  21. while (!$activityresult[2]->EOF) {  
  22.   
  23.     $jscript .= "\tnamearray[$i] = '".$activityresult[2]->fields["name"]."';\n";  
  24.     $jscript .= "\tactivityarray[$i] = ".$activityresult[2]->fields["activity_id"].";\n";  
  25.     $jscript .= "\tsubactarray[$i] = ".$activityresult[2]->fields["sub_activity_no"].";\n";  
  26.     $i++;  
  27.     $activityresult[2]->MoveNext();  
  28. }  
  29.   
  30. $jscript .= "\tfunction changecat(option) {\n";  
  31. $jscript .= "emptyList();";  
  32. $jscript .= "\t\t for (var i=0; i<namearray.length;i++) {  \n";  
  33. $jscript .= "if (activityarray[i] == option) {\n";  
  34. $jscript .= "form.sub_activity_no.options[form.sub_activity_no.length] = new Option(namearray[i],subactarray[i]);\n";  
  35. $jscript .= "form.sub_activity_no.selectedIndex=0;";  
  36. $jscript .= "}\n";  
  37. $jscript .= "}\n";  
  38. $jscript .= "}\n";  
  39. $jscript .= "function emptyList() { while ( form.sub_activity_no.options.length ) form.sub_activity_no.options[0] = null;}";      
  40. ##############################################  
  41. $jscript .= "</script>";  
  42. $smarty->assign("jscript",$jscript);   
  43. $smarty->assign("org_type",$org_type);  
  44.   
  45.    }