va*****@agilis.st.com.sg wrote:
Hi Erwin,
I actually dont want to use the second approach, since the HTML files
are developed by someone
else and i actually need to copy+paste the code to use printf's in my
"C" code to output
html. This is very tedious and i am not getting the images that are
used in the HTML files
Hence i want to use the second approach that you have mentioned, the
hidden frame approach
I actually have created a hidden frame using this code
<FRAMESET COLS="200%,*" framespacing="0">
That is strange, you ment probably something like:
<FRAMESET COLS="*,0" framespacing="0">
So the hidden frame is invisible (0 pixels)
But this is not important for the functionality. :-)
<FRAME SRC="status.htm" NAME="mstatus" SCROLLING=AUTO>
<FRAME SRC="hidden.htm" NAME="hidden" SCROLLING=AUTO>
</FRAMESET>
And when the user clicks some button in status.htm,i am executing this
cgi
window.parent.hidden.location="http://10.0.0.10/cgi-bin/getstat.cgi
The cgi script is getting executed in the server side, but i dont know
how to send
the response from the server to the client and then how to update that
in the
status.htm file.
can you please let me know how to do the server side scripting. I am
bit
new to javascript, i am basically a "C" programmer.
Well, what can I do for you?
I can help you a little with the setup, but I cannot give you excact code
because I don't know anything about the project.
I suggest you do the following:
1) Make sure you get some basic Javascript knowledge in.
Pay extra attention to:
a) Communication between different windows.
(Every html in a frame is considered a window.)
eg: parent.frames.hidden etc like you used already
Make sure you can pass basic values from 1 window to the next without any
serverside calls.
eg: To call a function in your frameset, use:
window.parent.someFunction();
Of course you need to define a function in your parentframe called that
name:
So to experiment start with this in your parentframe:
<FRAMESET COLS="*,0" framespacing="0">
<FRAME SRC="status.htm" NAME="mstatus" SCROLLING=AUTO>
<FRAME SRC="hidden.htm" NAME="hidden" SCROLLING=AUTO>
</FRAMESET>
<script type="text/javascript>
function someFunction(aNumber){
alert ("I received: "+aNumber);
}
</script>
b) Make sure you have a look at the function setTimeout()
You need this to keep polling your server for fresh results.
c) How to manipulate content on a webpage with javascript.
You were talking about forms, so here is an example:
html on a page:
<form action="bla.cgi" name="myForm">
<input type="text" name="age">
<input type="submit">
</form>
Now you can alter the content of the textelement that is named age as
follows:
document.forms["myForm"]["age"].value = 55;
If you want to manipulate existing text on the page instead of forms, ask
somebody else, because I never do that. :P
and 2)
Make sure you rewrite the page that is polled every second by the clients by
first making a simple page.
You can use the one I posted before as a basic template.
You ONLY have to make sure that the process serverside that updates the
information is parsing the right value on the place where I putted the 42.
And a last tip:
http://www.w3schools.com/ is a great place to check up some basic
webconcepts for starters.
http://www.w3schools.com/js/default.asp for example is a crashcourse on
Javascript, but you will find a lot more.
Since you are a C programmer, I think you should be able to master a lot
over there without too much pain. ;-)
Good luck,
Regards,
Erwin Moller