• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 948
  • Last Modified:

Dynamically update <div> while asp script is looping using response.flush

I sort of did this before, but it doesn't work right and I want to start from scratch.  I have attached some pseudo code, and I would appreciate someone telling me how to make it update the div tag at the top with the MACHINENAME it is currently scanning.  I am using ASP.
<html>
<body>
<div id="loading">Now scanning MACHINENAME</div>
<table>
  <tr>
    <td>Name</td>
    <td>IP addrss</td>
  <tr>
  LOOP
    Ping MACHINENAME
    <tr>
       <td>MACHINENAME</td>
       <td>MACHINEIP</TD>
    </tr>
  ENDLOOP
</table>
</body>
</html>

Open in new window

0
Cerixus
Asked:
Cerixus
  • 3
1 Solution
 
scrathcyboyCommented:
ASP is a web server language.  As a remote web application, it should have no access whatsoever to a user's local machine.  To do this is a violation of the sandbox model of web code, that it should not be able to intrude on or gather information from any person's local computer.  Any code you generate in this way will only be microsoft specific, and only for those people dumb enough to allow active-X controls to invade their own privacy.  This will never work on any browser other than IE, and thank goodness it won't.  The last thing I and most other people want is a web site finding out what computer we are running.

Anyway, to do this, look into active -X controls and hope everyone is running IE with a wide open system.
0
 
CerixusAuthor Commented:
You are totally misunderstanding what I want.

Ignore the machine name thing.

Just pretend it's looping through records in a database.  I want something that shows what record it is currently on.  Like at the top of the page I want it to say "Now scanning XXX...", then when it loops to the next item it will update to say "Now scanning YYY...".
0
 
CerixusAuthor Commented:
I tried an iframe approach.  At the top of my page, I have this:

                 Status: <iframe src="status.asp?status=Loading..." name="status"></iframe>


Then, in the loop I have this:

      currentName = arrTXT(intTXT)
      Response.Write("<script>window.open('status.asp?status=" & currentName & "','status');</script>")
      response.flush

Oddly, the iframe never appears until it finishes the report, at that time it does display the proper information (the last piece of data).  however, if you watch the browseres status bar, you can see it referencing status.asp and passing the proper variables.

Help
0
 
CerixusAuthor Commented:
Got it!

At the top of my page, I have this:

     <div id="statusTest"></div>

In the loop I have this:

           Response.Write("<Script>document.getElementById('statusTest').innerHTML = '" & currentName & "';</script>")
      response.flush

That's it!  Must have misplaced a quote when I tried it the first time...
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now