How can I make Drupal DOM elements accessible within a javascript function without having to do an ajax request to a page?
I have a javascript timer set to fire every 2.5 seconds so that I can set the current values for the items and total for the shopping cart summary. I would like to be able to get these values from client side cookies or javascript global variables so that I don't have to make an ajax call to the server but I have found that the DOM elements are not accessible within the javascript function unless I run an ajax request to a page (listed below) and after it returns then the DOM elements are accessible (i.e. $(".num-items").html(numItems);) and now I can update them. Having these ajax requests run every 2.5 seconds for every client will not scale. How can I make Drupal DOM elements accessible within a javascript function without having to do an ajax request to a page? Thanks, John setInterval('updateShoppingCartInfo()', 2500); function updateShoppingCartInfo(){ var xmlHttpReq = new XMLHttpRequest(); var url = 'https://' + document.domain + '/cart/refreshcarttimer'; xmlHttpReq.open('post', url, true); xmlHttpReq.onreadystatechange = function() { if (xmlHttpReq.readyState != 4) { return; } else { var responseText = xmlHttpReq.responseText; var numItems = responseText.substr(0,responseText.indexOf(",")); var ucPrice = responseText.substr(responseText.indexOf(",")+1); $(".num-items").html(numItems); $(".uc-price").html(ucPrice); } } xmlHttpReq.send(null); } -- John J. Mitchell
participants (1)
-
John Mitchell