]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14439 IE and Opera fire the onchange when ever you move into a dropdwown list...
authorjerome <jerome>
Fri, 2 May 2008 02:45:18 +0000 (02:45 +0000)
committerjerome <jerome>
Fri, 2 May 2008 02:45:18 +0000 (02:45 +0000)
lib/javascript.php
lib/weblib.php

index 7d9f2e0b661e90d017d182514e76ad98445c21e7..76afcca6915c3f5b0acb1142634dc9f89476cc82 100644 (file)
@@ -1,4 +1,5 @@
 <?php  /// $Id$
+
        /// Load up any required Javascript libraries
 
     if (!defined('MOODLE_INTERNAL')) {
@@ -24,6 +25,7 @@
 <script type="text/javascript" src="<?php echo $CFG->httpswwwroot ?>/lib/overlib/overlib_cssstyle.js"></script>
 <script type="text/javascript" src="<?php echo $CFG->httpswwwroot ?>/lib/cookies.js"></script>
 <script type="text/javascript" src="<?php echo $CFG->httpswwwroot ?>/lib/ufo.js"></script>
+<script type="text/javascript" src="<?php echo $CFG->httpswwwroot ?>/lib/dropdown.js"></script>  
 
 <script type="text/javascript" defer="defer">
 
index 47ed08e16b5cc5e17cc1e639db40cdc64d06457d..eb91f0f5d6f3f88dd63908ef19785b7b173d5636 100644 (file)
@@ -1,5 +1,6 @@
 <?php // $Id$
 
+
 ///////////////////////////////////////////////////////////////////////////
 //                                                                       //
 // NOTICE OF COPYRIGHT                                                   //
@@ -1110,8 +1111,16 @@ $targetwindow='self', $selectlabel='', $optionsextra=NULL) {
         $selectlabel = '<label for="'.$formid.'_jump">'.$selectlabel.'</label>';
     }
 
-    $output .= '<div>'.$selectlabel.$button.'<select id="'.$formid.'_jump" name="jump" onchange="'.$targetwindow.'.location=document.getElementById(\''.$formid.'\').jump.options[document.getElementById(\''.$formid.'\').jump.selectedIndex].value;">'."\n";
-
+    //IE and Opera fire the onchange when ever you move into a dropdwown list with the keyboard. 
+    //onfocus will call a function inside dropdown.js. It fixes this IE/Opera behavior.
+    if (check_browser_version('MSIE') || check_browser_version('Opera')) {
+        $output .= '<div>'.$selectlabel.$button.'<select id="'.$formid.'_jump" onfocus="initSelect(\''.$formid.'\','.$targetwindow.')" name="jump">'."\n";
+    }
+    //Other browser
+    else {
+        $output .= '<div>'.$selectlabel.$button.'<select id="'.$formid.'_jump" name="jump" onchange="'.$targetwindow.'.location=document.getElementById(\''.$formid.'\').jump.options[document.getElementById(\''.$formid.'\').jump.selectedIndex].value;">'."\n";  
+    }
+    
     if ($nothing != '') {
         $output .= "   <option value=\"javascript:void(0)\">$nothing</option>\n";
     }