savagenoob Posted October 21, 2010 Share Posted October 21, 2010 I built an AJAX button to loop through the database to see if a client accepted disclosures or not. The button only works the first time pushed. I need it to update the div field each time pushed. The button: <form name="updatec"> <input type="hidden" value="<?php echo $finid; ?>" id = "transid" name="transid" /> <input type='button' onclick='getupdate()' value='Update' /> </form> <div id="update"></div><br /> The javascript: <script type="text/javascript"> function getupdate(){ var ajaxRequest; try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ // Something went wrong alert("Your browser broke!"); return false; } } } // Create a function that will receive data sent from the server ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ var ajaxDisplay = document.getElementById('update'); ajaxDisplay.innerHTML = ajaxRequest.responseText; } } var transid = document.getElementById('transid').value; var queryString = "?transid=" + transid; ajaxRequest.open("GET", "getupdate.php" + queryString, true); ajaxRequest.send(null); } </script> Quote Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/ Share on other sites More sharing options...
nano Posted October 21, 2010 Share Posted October 21, 2010 I'm not any good at AJAX but could it be a possibility that the AJAX call has been cached by the browser, thus doing it just once..? See if you can set caching to false for that particular call.. maybe another avenue for you to investigate. Quote Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/#findComment-1124838 Share on other sites More sharing options...
savagenoob Posted October 21, 2010 Author Share Posted October 21, 2010 I freakin suck at javascript... I even tried using <script language=javascript> self.setInterval('getupdate()', 50) </script> and it works on the first, but if I accept a second disclosure it doesnt pop up... Here is my PHP <?php require_once('includes/config.php'); require_once('includes/connect.php'); $transid = $_GET['transid']; $update = mysql_query("SELECT * FROM disclosures WHERE transid = '$transid'")or die(mysql_error()); while($gupdate = mysql_fetch_array($update)){ $accept = $gupdate['complete']; echo $gupdate['disclosure'] . ": "; if($accept == "accept"){ ?> <img src="images/checkmark.bmp" border="1" width="30" height="30" align="absmiddle" name="checkmark" /> <?php } else { ?> <img src="images/xmark.bmp" border="1" width="30" height="30" align="absmiddle" name="xmark" /> <?php } echo "<br>"; } ?> iIf I accept multiple disclosures before hitting the Update button, all of them will pop up with a checkmark. Quote Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/#findComment-1124839 Share on other sites More sharing options...
savagenoob Posted October 21, 2010 Author Share Posted October 21, 2010 Maybe I'm losing my mind, but I just clicked to open new window in IE and BOOM the disclosures popped up... did it again, same result. Quote Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/#findComment-1124843 Share on other sites More sharing options...
savagenoob Posted October 21, 2010 Author Share Posted October 21, 2010 I tried setting the milliseconds to 1000 and now the first one wont even show unless I click to open new tab in IE. So wierd. Quote Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/#findComment-1124846 Share on other sites More sharing options...
savagenoob Posted October 21, 2010 Author Share Posted October 21, 2010 You were right, a cache problem with crappy IE. Just put <head> <meta http-equiv='cache-control' content='no-cache'> <meta http-equiv='expires' content='0'> <meta http-equiv='pragma' content='no-cache'> </head at top and bottom of page. Quote Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/#findComment-1124861 Share on other sites More sharing options...
nano Posted October 21, 2010 Share Posted October 21, 2010 I've only really touched the surface of jQuery AJAX and I remember what a pain caching was Quote Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/#findComment-1124867 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.