in reply to Re: "alert" or prompt box from perl cgi script
in thread "alert" or prompt box from perl cgi script

> Unless I'm understanding the question wrong, it seems like you want to a call to a CGI script to return with just a pop-up alert and not affect the actual page it was called from.

You got it. And yes, it does seem that it isn't possible without intervening javascript before going to the cgi code. For doing simple forms, that's not so bad. But when you don't know whether data in a form isn't right until you've gone to the server side (which may require doing db searches, etc.), you're basically forced to redraw the page... and that may also be an equally expensive operation.

  • Comment on Re: Re: "alert" or prompt box from perl cgi script

Replies are listed 'Best First'.
Re: "alert" or prompt box from perl cgi script
by b10m (Vicar) on Jan 07, 2004 at 23:31 UTC

    Ah, ok, now I kinda get what you want. But what about a simple something like this?

    print header; print <<EOF <script language="JavaScript"> alert('Hello World'); history.go(-1); </script> EOF ;

    This way, you will get your popup and the user will go straight back to the previous page which probably is still cached (if JavaScript is turned on ... of course). For simple forms, this should be ok.

    --
    b10m
Re: Re: Re: "alert" or prompt box from perl cgi script
by BUU (Prior) on Jan 08, 2004 at 09:06 UTC
    You got it. And yes, it does seem that it isn't possible without intervening javascript before going to the cgi code. For doing simple forms, that's not so bad. But when you don't know whether data in a form isn't right until you've gone to the server side (which may require doing db searches, etc.), you're basically forced to redraw the page... and that may also be an equally expensive operation.
    This is exactly why people use javascript to do client side data validation. It's an extremely common practice to have a bit of javascript triggered before you actually send the datato make sure it's all in the right format. Done correctly theres absolutely no server side work and no communication or time.

    But of course you can't trust the client to validate correctly. Never trust the client. You still have to validate server side.