aipragma Posted June 8, 2010 Share Posted June 8, 2010 1) This issue involves just one html webpage, lets call it "ajax.html". 2) I have AJAX functions in this webpage that work in both Firefox and IE8. 3) I now attempt generating just the option values of a dropdown list of dates using my ajax functions, and it works in Firefox & Opera, but not IE8. 4) The surrounding html code for the dropdown looks like this: <select name="entry_7_single" id="entry_7" onChange="Ajax_PhpResultsWithVar('./secure/db/SummaryCls.php','entry_8','dateval',this.value)"></select> The onchange call refers to an ajax function that successfully(both Firefox & IE8) populates a textarea(entry_ with a description of an event associated with the date selected in this dropdown. 5) An onload call initiates the ajax function to generate the dropdown list values: <body class="ss-base-body" onLoad="OnLoadWebPage()"> 6) The js script that calls the ajax function is as follows: function OnLoadWebPage() { Ajax_PhpResults('./secure/db/GenDateListCls.php','entry_7'); } 7) Since it works in Firefox, but not IE8, I throw the output of the ajax function into a Firefox large textbox and I get the following: <option selected value="8 JUN 2010">8 JUN 2010</option> <option value="9 JUN 2010">9 JUN 2010</option> <option value="10 JUN 2010">10 JUN 2010</option> <option value="11 JUN 2010">11 JUN 2010</option> 8 ) There are over a hundred generated but you get the gist of what the ajax function generates. Next I will list the PHP function that outputs the above dropdown values: ///////////////////////////////////////////////////////////////////////////////////////////////////////// <?php include_once 'SPSQLite.class.php'; include_once 'misc_funcs.php'; class GenDateListCls { var $dbName; var $sqlite; function GenDateListCls() { $this->dbName = 'accrsc.db'; $this->ConstructEventDates(); } function ConstructEventDates() { $this->sqlite = new SPSQLite($this->dbName); $todayarr = getdate(); $today = $todayarr[mday] . " " . substr($todayarr[month],0,3) . " " . $todayarr[year]; $ICalDate = ChangeToICalDate($today); $dateQuery = "SELECT dtstart from events where substr(dtstart,1, >= '" . $ICalDate . "';"; $this->sqlite->query($dateQuery); $datesResult = $this->sqlite->returnRows(); foreach (array_reverse($datesResult) as $indx => $row) { $normDate = NormalizeICalDate(substr($row[dtstart],0,); if ($indx==0) { ?> <option selected value=<?php echo('"' . $normDate . '"'); ?>><?php echo $normDate; ?></option><?php } else { ?> <option value=<?php echo('"' . $normDate . '"'); ?>><?php echo $normDate; ?></option><?php } } $this->sqlite->close(); } } $dateList = new GenDateListCls(); ?> ///////////////////////////////////////////////////////////////////////////////////////////////////////////// <<< I appreciate any assistance on this matter. Aipragma >>> Quote Link to comment https://forums.phpfreaks.com/topic/204225-works-in-firefox-opera-but-not-ie-8/ Share on other sites More sharing options...
ignace Posted June 8, 2010 Share Posted June 8, 2010 This website has other problems then the one's you mentioned, accessibility & usability being among those. Quote Link to comment https://forums.phpfreaks.com/topic/204225-works-in-firefox-opera-but-not-ie-8/#findComment-1069657 Share on other sites More sharing options...
anatak Posted June 8, 2010 Share Posted June 8, 2010 this will probably not be it but do you have a <select name="some_name"> </select> around your <option></option> check the page source to see if you have something weird in your html would be my guess. Quote Link to comment https://forums.phpfreaks.com/topic/204225-works-in-firefox-opera-but-not-ie-8/#findComment-1069679 Share on other sites More sharing options...
aipragma Posted June 8, 2010 Author Share Posted June 8, 2010 Reply to 'anatak': I did list my select code in first posting, it is as follows: <select name="entry_7_single" id="entry_7" onChange="Ajax_PhpResultsWithVar('./secure/db/SummaryCls.php','entry_8','dateval',this.value)"></select> To let you all know, I am a complete newbie to PHP, Ajax, & javascript, and learning it all on my own, no classes. My background is in Linux, Windows, C++, Java, VB,VBA,MS XML, & some html. So the comment by 'ignace' is unproductive & ignorant. Thanks anatak for any help. Aipragma Quote Link to comment https://forums.phpfreaks.com/topic/204225-works-in-firefox-opera-but-not-ie-8/#findComment-1069704 Share on other sites More sharing options...
anatak Posted June 9, 2010 Share Posted June 9, 2010 Hello Aipragma, Sorry I overlooked the <select> in your first block of code. I was just looking at the HTML output PS don't react to comments like ignace's you ll learn quickly enough that there are a lot of these on all forums. you could try stackoverflow.com if you can't find the solution here. Quote Link to comment https://forums.phpfreaks.com/topic/204225-works-in-firefox-opera-but-not-ie-8/#findComment-1069746 Share on other sites More sharing options...
aipragma Posted June 11, 2010 Author Share Posted June 11, 2010 Got a solution, Anatak, from the website you suggested (stackoverflow.com), from a person named Tau. http.onreadystatechange = function(){ if(http.readyState == 4){ eval("var data = [" + http.responseText + "]"); for(var i=0;i<data.length;i++) { var t = document.createElement("option"); t.value = data[i].value; t.innerHTML = data[i].text; document.getElementById("entry_7").appendChild(t); } } } PHP output (aka your http.responseText): {value:"20100608",text:"date 1"}, {value:"20100609",text:"date 2"}, {value:"20100610",text:"date 3"}, {value:"20100611",text:"date 4"}, {value:"20100612",text:"date 5"} The link to that answer is as follows: http://stackoverflow.com/questions/3002826/works-in-firefox-opera-but-not-in-ie8 Thanks again, Anatak. Ai Pragma aipragma@gmail.com Austin,TX Quote Link to comment https://forums.phpfreaks.com/topic/204225-works-in-firefox-opera-but-not-ie-8/#findComment-1070726 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.