Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 802
  • Last Modified:

Message Box Redirect

Hi,

I have a message box that's appearing in javascript from the server side. I had the message box on the server side but it wasn't appearing on screen but remained on the task bar.  I decided to show it in javascript instead so it would appear onscreen.

We need to do server side validation.  This was why I didn't use js to begin with.  When the validation is successful I want to display a message box. If they click OK I want them to be directed to one page. If they click cancel I want them to be redirected to an another page.

I have this working fine for the ok part. When the user clicks ok I can direct them to another. However my problem is that I'm not sure how to redirect them if they press cancel.

At the moment the server side shows a message box. When the user clicks ok they are brought to the javascript. If they click cancel on this they remain on the same page. When they click ok, I can show a second message box. Whether they click ok or cancel they are brought to the relevant page. Is there a way I can do this without showing a second message box?

Can I use my first message box to return a true or false value?

At the moment I only seem to be able to return a true value with my first box. I assume this is because I have put true into the vb code. Is there a way I can look to return both true and false here? I tried something like this but it gave me an error saying there was too many arguments or something like that.

The second box that I generate on the client side can test for true and false values.

Any assistance would be appreciated.

Here's the relevant pieces of code:
'This is my server side code 
Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyAlertBox", "if(window.confirm(Would you like to continue?')){javascript:redirect()}", True)
 
//This is my javascript
function redirect()
{
var ans=window.confirm('Would you like to continue');
if (ans == "true")
  {
    //alert('Yes');
   window.location.href = "myPage1.aspx"; 
   }
 else
 {
    //alert('No');
    window.location.href = "myPage2.aspx"; 
 }
 
}

Open in new window

0
xdubit
Asked:
xdubit
  • 3
1 Solution
 
bluV11tCommented:
The message box does return true or false boolean value (not string), try this:
function redirect()
{
var ans=window.confirm('Would you like to continue');
if (ans)
  {
   //alert('Yes');
   window.location.href = "myPage1.aspx"; 
   }
 else
 {
    //alert('No');
    window.location.href = "myPage2.aspx"; 
 }
 
}

Open in new window

0
 
xdubitAuthor Commented:
Thanks for replying bluV11t

This part of my code was working. The problem was that I wanted to use the true or false value without showing the message box again.

Var ans = window.confirm('Would you like to continue') will show the message box again. I'm already showing this from my vb code. In my vb code I have an,  "if(confirm('Would you like to continue?')){javascript:redirect()}", True).

Do you see the way I have true at the end of this vb statement. I'm inferring that this is what only returns the ok value to the javascript. What I would like to do is if cancel is clicked on this server side message box, then also invoke this javascript function. When I had a stop on the function and pressed cancel it did not invoke the function.

Is there a way to also go to this javascript function when cancel is pressed?

Is there something I can put at the end of my vb code other than true which will invoke my javascript function when either ok or cancel is clicked.

Thanks for help.

0
 
ZylochCommented:
Why not put what you have in your redirect() function inside RegisterStartupScript()?

For example, instead of

    "if(window.confirm(Would you like to continue?')){javascript:redirect()}"

have the entire thing:

    "if(window.confirm(Would you like to continue?')){window.location.href='myPage1.aspx';}else{window.location.href='myPage2.aspx';}"
0
 
xdubitAuthor Commented:
Thanks for your reply Zyloch. It seems like the logical thing to do.

I'll have a go at that when I get to my computer in the morning.

0
 
xdubitAuthor Commented:
Thanks Zyloch. That did the trick.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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