|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2005-02-08 01:59 UTC] eddie at omegaware dot com
Description: ------------ The function list suggestion feature does not work at all. I've tested IE 6 SP1, mozilla 6, and Firefox 1.0, and all show the same results, errors in the javascript in functions.js From the Mozilla/Firefox JS Console Error: FT has no properties Source File: http://{mirror}.php.net/functions.js Line: 2 IE shows Line: 3 Char 1992 Error: Object Required Code: 0 url: http://{mirror}.php.net/search.php I would have debugged the JAvascript and sent a patch, but that code is so obfuscated it's unrecognizable as Javascript. Reproduce code: --------------- goto http://php.net/search.php Type in a array in the search text input. Expected result: ---------------- A popup list of array* functions Actual result: -------------- nothing except for errors logged to javascript console. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 04:00:02 2025 UTC |
OK I've solved the problem with IE not working correctly. I actually ran across the same problem while doing my own JS code dynamically adding elements using the DOM. IE does not correctly set the 'style' attribute when using the setAttribute dom function, so you have to explicitly specify any styles via the object.style.cssstylename gotta love firefox's view selected source as it'll show the "current" source with all DHTML changes, as I disabled the onblur handler selected the entire page view source and then copied it out to a temp file and loaded that in IE, where I found that the HTML is not being generated the same. This is the lovely comment in my JS code nodebox.setAttribute('id',this.name+'_box'); nodebox.appendChild(nodesrch); /* Setting attribute style doesn't work on IE, so manually set the styles */ nodebox.style.position = 'absolute'; I believe that was committed with a SVN comment of "YASIEH" (yet another stupid IE hack)Here is the required Javascript to get it working (instead of the if/else statement and the setAttribute call). this will work in IE, Firefox and Opera 7.54 funchelper.style.backgrounColor='white'; funchelper.style.border='1px solid black'; funchelper.style.top='90px'; if (_d.all && (isnotopera=(navigator.userAgent.toLowerCase().indexOf("opera")==-1))) { funchelper.style.width='165px'; } else { isnotopera=true; funchelper.style.minWidth='155px'; } funchelper.style.padding='4px'; funchelper.style.fontSize='9px'; funchelper.style.display='none'; funchelper.style.position='absolute';Index: originalafter.js =================================================================== RCS file: /repository/phpdoc/scripts/quickref/originalafter.js,v retrieving revision 1.16 diff -u -3 -p -r1.16 originalafter.js --- originalafter.js 11 Feb 2005 12:47:12 -0000 1.16 +++ originalafter.js 8 Jul 2005 01:35:16 -0000 @@ -20,14 +20,21 @@ fh_EDropDownChange(); // Layer setup ---------------------------------------------------------------- - +var funchelper = _d.createElement('div'); +funchelper.style.backgroundColor='white'; +funchelper.style.border='1px solid black'; +funchelper.style.top='90px'; if (_d.all && (isnotopera=(navigator.userAgent.toLowerCase().indexOf("opera")== -1))) { - width="width:165px"; + funchelper.style.width='165px'; } else { isnotopera=true; - width="min-width:155px"; + funchelper.style.width='155px'; } -var funchelper = _d.createElement('div'); -funchelper.setAttribute('style', 'background-color: white; border: 1px solid bl ack; top: 90px;'+width+'; padding: 4px; font-size: 9px; display:none; position:a bsolute;'); +funchelper.style.padding='4px'; +funchelper.style.fontSize='9px'; +funchelper.style.display='none'; +funchelper.style.position='absolute'; + var elems = _d.getElementsByTagName("*"); for (var i = 0; i < elems.length; i++) { if (elems[i].tagName.toLowerCase() == 'body') {