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> 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. 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. 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. 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. 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. 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 Link to comment https://forums.phpfreaks.com/topic/216477-update-button-problem/#findComment-1124867 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.