Xmlhttp In Loop Not Totally Working
Dec 9, 2004
I have a javascript that is supposed to read a text file (a log from a php script) and it should be shown in a html page. Even more, it should read that txt file again every 10 seconds and update the result every time on the page.
I use xmlhttp for this, after a suggestion from someone on this forum. My script is working well, but only the first time the page is loaded. From then on it becomes unrelieable and I dont know why.
This is the first part: loading a function in the body tag, and a browser version check, I dont think there is any problem in this.
Code:
<body onLoad="showbuffer();">
<script language="JavaScript">
<!--
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
//-->
</script>
This is the second part, a self made looping function that looks up buffer.txt , and writes it on the page.
Code:
<script language="JavaScript">
<!--
function showbuffer() {
xmlhttp.open("GET", "buffer.txt",true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
buffertext=xmlhttp.responseText;
document.body.innerHTML= buffertext;
}
}
xmlhttp.send(null)
return false;
setTimeout('showbuffer()', 10000);
}
//-->
</script>
And this works, if I load my page then it shows exactly the content of buffer.txt . And if a bit later some data is added to the txt file, then it doesnt show up in the xmlhttp page , its still the same content as from the beginning so it didnt update. But there is something really weird about it, if I open up a second browser window and typ in the complete url of the buffer.txt file, and visit that page and look at the new data... then within 10 seconds the new part is added to the xmlhttp page. So the javascript function doesnt work, unless I refresh the page it is supposed to read. I've tried to mimic that, with a php script in crontab that would read buffer.txt through file(); or fopen(); every minute , but that didnt seem to work.
I dont think there is anything wrong with all the xmlhttp part of it, but rather with the way I try to integrate it into a loop. But this setup with setTimeout is the only way I know to make a function repeat itself with a few seconds delay after every step.
So, could anyone please point out how this could be solved ? Maybe another way to loop the xmlhttp part perhaps?
View 1 Replies
ADVERTISEMENT
Mar 3, 2009
All Code Working fine in Firefox and Google Chrome, But in IE nothing happened Ajax Function IN MAIN PAGE
<script language="javascript">
var xmlHttp
function showBabyId(str)
{
xmlHttp=GetXmlHttpObject();
[Code]...
View 4 Replies
View Related
Jul 20, 2010
I'm developing a search feature to the following website: REMOVED THE LINK As you can see, the table has a mouseover effect that paints the current hovered row's border. Because I couldn't find any way of drawing a border around the tr only, I had to set all <td> borders white and after that set the top and bottom borders of all <td>'s pink. The first td is set to left border pink and the last one of the row receives right border pink. This is done in jquery's mouseover event. The problem is the border is no continuous, as you can see in the attached image. And that's pissing off my client. Do you have a solution? I've used padding: 0; border collapse.. I don't know what else to do.
View 3 Replies
View Related
Jul 23, 2005
i want to postload javscript from another javascript. This works fine in
firefox and IE6 for macIE i can use an Iframe to load the code and inject it with insertAdjacentHTML The problems arise with safari and opera. Both load the new code with XMLHttpRequest, but the code is no 'executable'
To make this possible on IE i had to use the magic 'DEFER' attribute.
(Sync or Async ist not the issue)
This is a extract of the working code:
View 5 Replies
View Related
Jun 4, 2009
want to get the alert on responce text, but getting nothing, my code is as follow,
<?php session_start(); ?>
<script type="text/javascript">
var xmlHttp
[code].....
View 9 Replies
View Related
Jul 21, 2010
I have while loop, where something is defined via ID, I called it pin_click.
So of course there are a few entries.
And I have the following Code:
Somehow, this Code only works for the first element, I get out of the while loop. The other elements of the while loop ( which have the same Button ) are just doing nothing, even no action in Firebug.
View 6 Replies
View Related
Oct 6, 2009
I have a form on my page that gets checked and verified with a bit of AJAX and then gets sent off if all is good, but I also created a quick little loop to verify that all the fields are still full and completed before sending the info off to the server officially .here is my test page for the loop that i have created.
PHP Code:
<html>
<head>
<script type="text/javascript">
[code]...
Now the loop works great if you test it by clicking on the button once but if you fill in a missing field and click the button ok then it doesnt work again ... how can i get it to work on every click ?
View 3 Replies
View Related
May 5, 2010
I'm trying my first bit of jQuery code but am familiar with Java programming. I'm trying to create a function that loads a div with an image in it, which will fade in and then after 4 seconds move onto the next image. I want it to create an infinite loop but it doesn't work.
<script type="text/javascript">
$(document).ready(function ()
{
[code]...
View 4 Replies
View Related
Oct 1, 2011
this is code for a conway's game of life. the nested loop on stepGen() doesnt work and i cant figure out what it is. no syntax errors, or anything. i put alert statements to see whats happening. i can provide the rest of the code if necessary.[code]
View 2 Replies
View Related
Oct 11, 2011
i have this code
<script type="text/javascript">
$(document).ready(function() {
for ($i=0; $i<4; $i++) {
var num = $('.clonedInput').length;
[Code].....
the input id is changed correctly, but valores no. Why ?? Valores is always id="valores1", and must be id="valores1", id="valores2", and so on.
View 2 Replies
View Related
Jul 17, 2009
Why wont my for loop work it wont alert the var images1....
<script type="text/javascript">
for(i=1;i<6;i++){
images[i] = "no"+i+".jpg";
[code]...
View 2 Replies
View Related
Jun 8, 2009
I have a pretty simple function set up to pull XML data into my page, but there's a couple things wrong with it. I'm REALLY new to J Script and really trying my best to learn, but for some reason I'm not yet adept at googling the right results :rolleyes:At the very bottom you can see the data from the first XML entry, so it seems the function itself is working fine, but it's not looping coorectly to access all the data.Also, I want to pull it into the "shows" div of the page, but can't figure out how to put it there (seriously, I am very new with JS). The code below is not working, but the live site has it added to the body, which does show the one entry.Here's the XML function, the XML data and the HTML markup:
Shows function -
function loaddates()
{
var xmlData = document.getElementById("tourdates");
var newDates = xmlData.getElementsByTagName("dates");
[code]...
View 4 Replies
View Related
Apr 3, 2010
I have a simple HTML page with one DIV element with the id "rotator". Inside that, JavaScript is supposed to create boxes that react to mouseovers.
The weird thing is: The whole script works, but ONLY on the LAST box I create, no matter what I do. I can manually add the mouseover code to any one of these boxes, but it will only take on the last one. I can have JavaScript tell me the mouseover status of each box, and they all tell me they have code assigned correctly - but again only the last one works...
Here's the relevant code (yes, highly abbreviated, but it's the part that fails on me):
var maxBoxes = 10;
function initSite() {
var rotator = document.getElementById("rotator");
rotator.innerHTML = "";
[Code]....
initSite is called in the body onload. All kinds of other animation parts are implemented that work fine, just this mouseover won't work. I have tried re-writing it in multiple different ways, including "xyz.onmouseover = myMouseCode" and then defining the function separately later - still no dice.
So, the code creates 10 boxes (0-9) and 10 boxes that are on top of them to create a form of shadow effect depending on the position of the original boxes. Since the "myDark" boxes are on top of the "myBox" boxes, I apply the onmouseover onto the "myDark" boxes, but it only works on "myDark9" and no other box. They are all created the same way, the mouseover assigned the same way...
View 8 Replies
View Related
Jun 4, 2010
Here's the code:
for (var i = 1; i < 5; i++)
var pl = eval("player" + i)
var namepl = eval("document.charInput.name" + i + ".value");
[code]....
In the case of the 2nd-4th player, it changes to name2.value, etc.Based on these three inputs, I need to iterate through all four players and make the player object for each of them, as I've done above.
View 5 Replies
View Related
Jun 6, 2011
I'm not so good at Javascript, but I tried to write some code to obtain some form values and write those to a query string to use in AJAX.It seems to be working partially, but I don't understand what is going wrong. What happens is that in the for loop the 'document .form_name.form_field_names_array[i].value' part doesn't seem to return a value. It is worse even: the script completely stops executing at that part. When I remove that part from the line in the for loop, it doesn't stop executing, so I guess that's where the problem is?
function doAjaxForm(url, target_element_id, img_url, form_name, form_field_names)
{
// Create the GET query string from the form_fields[code]...
// Rest of the code (the AJAX) is working.
View 3 Replies
View Related
Jan 18, 2010
I cant get collision detection to work. I tried but it always caused an infinite loop.
Heres the code.
<html><!-- main file.--><head>
<title>lightning generator</title>
</head><body>
<canvas id='world' width='500' height='500' style='border: 1px solid black; padding:0;'>
</canvas><script type="text/javascript" src='world.js'></script>
[Code] .....
In the end of world.bolt.cpath,there should be a way to use the local varis X and Y, and world.ground.js's world.ground.level[] to detect it. sorry for the gigantic length.
View 1 Replies
View Related
May 6, 2010
Does anyone know why this isn't working? The toggle function works perfectly fine with PHP loops, but when I insert the table td tr tags, it does not hide the loop when the page first loads...It just shows the results in the div which it shouldn't be doing.
Here's what my code looks like...
JS
Code:
<script type="text/javascript">
function toggle(element) {
if (document.getElementById(element).style.display == "none") {
[Code]....
View 3 Replies
View Related
Apr 8, 2011
Having a tough time integrating the 2. Trying to create 2 loops, the inner one I had working as below, until I tried to add the outer loop which iterates through the tables
<script type="text/javascript">
// <![CDATA[
var i=0;
[code]....
View 7 Replies
View Related
Aug 28, 2010
i am trying to pass text from one select box to another select box. The logic is if 10 are added, no more passing must happen. Also if an item is already added, it mustn't be added again.I am using the for loop to check the existence of an item but it is not working: what am i doing wrong?
Code:
function PassSelectValues(){
//pass values from select boxes to select boxes
var counter;[code]....
why isn't counter incrementing at all? The alert message box does appear saying item exists but the item gets added anyway.
View 1 Replies
View Related
Oct 11, 2009
I'm building a t-shirt shop whose interface includes a gallery of designs in an IFrame. When the user clicks on a design, a dedicated page is loaded into the IFrame which shows all the available products associated with the design the user clicked.
I've put each design's image and associated page as the first and second elements of a nested array, and am using a for loop to then load all the images into the page that's shown in the IFrame when the web-site loads. It's looking beautiful, but here's the rub I've been stuck on for two days now with no solution in sight...
The array, "designImages", has 37 elements (ie. designImages[0]... designImages[36]). When I click on a design image on the page, any design image, the browser (all browsers, so I can't blame Microsoft for this one :rolleyes: ), loads the page for design #36. I've tried all sorts of things, but still cannot tell if the issue is because the dynamically generated divs are being reassigned the value [36] after the for loop's executed, or if the div id's are okay but somehow the code is rooting for [36], the last element of the array anyway.
[Code]...
View 2 Replies
View Related
Jan 22, 2011
I have been looking at this code for two evenings now, and rewrote it 4 times already. It started out as jQuery code and now it's just concatenating strings together.
What I'm trying to do: Build a menu/outline using unordered lists from a multidimensional array.
What is happening: Inside the buildMenuHTML function, if I call buildMenuHTML, the for loop only happens once (i.e. only for 'i' having a value of '0'.) If I comment out the call to itself, it goes through the for loop all 3 times, but obviously the submenus are not created.
Here is the test object:
test = [
{
"name" : "Menu 1",
"url" : "menu1.html",
"submenu" : [
[Code].....
'Menu 2' and 'Menu 3' don't show up! I'm sure it's something small that I'm overlooking.
View 2 Replies
View Related
Aug 4, 2011
I'm looking to send a loop variable (i) to a function inside the loop, but I can't seem to get it to use the value I want, it keeps making it a reference of i and therefore the function is always called using the last value of i rather than the one it was set with.
So if i have 5 Tabs then Tab 1, when clicked, should call DefaultTabClick(0) and so on rather than always using 4 for any of the tabs.
View 2 Replies
View Related
Feb 1, 2006
I'm trying to do use XMLHTTP to do a POST in the following JavaScript snippet.
var xml = new ActiveXObject('Microsoft.XMLHTTP');
xml.open("POST", "http://some/url/", false);
xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xml.send("username=myusername&password=mypassword");
document.write(xml.responseText);
This works fine in Internet Explorer 6 SP2. However, I would like to use https, rather than http. When I change the URL to https and reload the page, I get an error: "The download of the specified resource has failed". As a test, I tried running the same code in Firefox (changing the first line to "var xml = new XMLHttpRequest()"), and this worked for both http and https perfectly, although using https causes a dialog box to pop up asking the user to accept the SSL certificate. Unfortunately, I really need this to work in IE.
I found a couple of discussions on Usenet about this, but none that seemed to give me a clear answer to this issue. Does anybody know what might be wrong or how I might fix it?
View 3 Replies
View Related
Sep 20, 2011
When I open a page in IE (any version), it throws a script error pointing at this line:
for (item in fieldList) {
$('[name=' + fieldList[item] + ']').addClass('required');
};
Where fieldList is a list of form fieldnames that I want to apply this class to. But the error points right at the "for" on the first line. Is something up with IE where it doesn't support that kind of loop?? Of course it works fine in FF and Chrome. And Safari. And Opera.
There's probably a better way to do it in jQuery, but I'm not familiar enough with loops in jQuery yet.
View 2 Replies
View Related
Jul 29, 2011
I have the code below, how could it be modified to loop over and over and reload the xml file each time. Flow would be: load xml, run thruogh code to display each xml node one at a time, when reach last node, start all over, reloading xml file,
[Code]...
View 2 Replies
View Related
Mar 6, 2011
As you can see from the code and the output, it will attempt to write to the browser how many moves, but only '0'.
function rollDie()
{
return Math.floor(Math.random() * 6) + 1;
}
/*
*searches for a number in a number array.
*
*function takes two arguments[CODE]...
View 5 Replies
View Related