I have a messagebox that pops up due to an event. I did it in javascript.
ie. alert("Time's up. Assessment Ended");
I want to capture the OK and Cancel events of this alert messagebox. My code
is in C#/ASP.NET.
TIA.
Andrew.
You need to pass the message box return value to the server side in the
value property of a hidden input control:
<input type=hidden id=inhTimeUp runat=server>
Eliyahu
"Andrew" <And...@discussions.microsoft.com> wrote in message
news:04E6B579-DFD1-48C3...@microsoft.com...
myDeleteButton.Attributes.Add("onclick", _
"return confirm('Are you sure you want to delete?');")
In this example, the Delete button will post back only if the person
confirms they want to delete. Otherwise the server code is never called in
response to the button click.
Here's more info:
http://SteveOrr.net/articles/ClientSideSuite.aspx
--
I hope this helps,
Steve C. Orr, MCSD, MVP
http://SteveOrr.net
"Andrew" <And...@discussions.microsoft.com> wrote in message
news:04E6B579-DFD1-48C3...@microsoft.com...
As I understand it, I put the code:
<input type=hidden id=inhTimeUp runat=server>
onto the parent file's html page, then I want to access this "inhTimeUp"
from the iFrame (child) page, is that possible ? coz the parent aspx page
just displays the top part of my page, while the child displays the bottom
and majority of the code in C#.
Am I making sense ?
TIA.
Andrew.
What's the reason for putting the control on the parent form? Which form
produces the messagebox and which form is interested in the value clicked?
Eliyahu
"Andrew" <And...@discussions.microsoft.com> wrote in message
news:685E4CAC-7C36-4E35...@microsoft.com...
Originally I had put everything on one page, but I discovered that whenever
the user clicks on NEXT question, the countdown re-starts. Obviously I don't
want that to happen.
I had to put the countdown (in javascript) textfield on the parent page, and
the question is displayed in the child page (iframe). The child form wants to
capture when the user clicks on the OK button of the:
alert("Time's up. Assessment Ended");
I hope this explains what I am trying to do. Is my design correct ?
TIA
Andrew.
parent.document.getElementById("inhTimeUp");
and submit the parent form as
parent.myForm.submit();
Eliyahu
"Andrew" <And...@discussions.microsoft.com> wrote in message
news:6BCD8ACF-3477-4E91...@microsoft.com...
I have IStartAss.aspx (parent) and StartAss.aspx (child iframe) to be
displayed.
On the parent page, there is the javascript code, and the hidden input text.
PARENT: The javascript looks like this (not sure if I am right):
<input type="hidden" id="inhTimeUp" runat="server" NAME="inhTimeUp">
<iframe id="Child_StartAss" src="StartAss.aspx" frameBorder="0"
runat="server"></iframe>
<SCRIPT language="Javascript">
...
alert("Time's up. Assessment Ended")
parent.document.getElementById("inhTimeUp") = true;
document.Form_IStartAss.submit();
</SCRIPT>
CHILD: There is some C# code.
I want to capture the event when the user clicks on the OK button and
proceed on.
How do I do this capturing ?
The reason why I am fussing about this capture is because later on I will
probably need to know how to do this in another part of the application
anyway.
TIA.
Andrew.
Your javascript is in the parent. the parent takes care of counting down the
assessment time. When the time is up, the parent want to notify the form in
the iframe. Is that correct?
If that is, the parent itself is not interested in the inhTimeUp value, it
just needs to pass this value to the form in the iframe and get that form to
sibmit with passing the value to the server-side c# code.
To make it happen, you need to move the inhTimeUp to the child, since the
the value should go to the child form server-side code. The message box is
produced on the parent and the parent will pass the value to the child as
document.getElementById("Child_StartAss").contentWindow.document.getElementB
yId("inhTimeUp").value=true;
and submit the child as
document.getElementById("Child_StartAss").contentWindow.myChildForm.submit()
;
where myChildForm is the id of the form in the iframe.
Eliyahu
"Andrew" <And...@discussions.microsoft.com> wrote in message
news:838576E3-0EA5-46F4...@microsoft.com...
I need to clarify some stuff.
1) What does "Child_StartAss" signify ?
2) Also what code should i put in the child c# page to capture the
value=true send by the parent page ? Do i need to
"ClientScriptBlockRegistered" it ?
TIA.
Andrew
Eliyahu
"Andrew" <And...@discussions.microsoft.com> wrote in message
news:489DDD41-9C7B-4D08...@microsoft.com...
> Hi,
>
> I need to clarify some stuff.
>
> 1) What does "Child_StartAss" signify ?
That is the frame id from your code:
<iframe id="Child_StartAss" src="StartAss.aspx" frameBorder="0"
runat="server"></iframe>
> 2) Also what code should i put in the child c# page to capture the
> value=true send by the parent page ? Do i need to
> "ClientScriptBlockRegistered" it ?
No. When you add a line
<input type="hidden" id="inhTimeUp" runat="server"> (note than you can
safely remove the NAME attribute inserted by the VS)
the VS designer will place a line
protected System.Web.UI.HtmlControls.HtmlInputHidden inhTimeUp;
inside you .cs file. In the .cs file you can just check
if (inhTimeUp.Value == "true")
Note, that you have to switch to VS design view from the HTML view for the
line to appear in the .cs file.