Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Javascript (http://www.velocityreviews.com/forums/f68-javascript.html)
-   -   stop refresh windows? (http://www.velocityreviews.com/forums/t872145-stop-refresh-windows.html)

Baffin Shea 09-05-2003 08:53 AM

stop refresh windows?
 
Dear All,

I am a beginner in javascript and looking for help, I put the following
script in the original.asp:

function NewWindows()
{
window.open("abc.asp", "new")
}

Everytime after the script is run, the original.asp will refresh itself and
the browser will go back to the top, there is something new at the tail of
url likes original.asp?x=42&y=6, the value of x and y will be different
every refresh, is it possible to stop the refresh of orignal.asp? Thanks for
help.



Lasse Reichstein Nielsen 09-05-2003 10:08 AM

Re: stop refresh windows?
 
"Baffin Shea" <baffin@shea.com> writes:

> Everytime after the script is run, the original.asp will refresh itself and
> the browser will go back to the top, there is something new at the tail of
> url likes original.asp?x=42&y=6, the value of x and y will be different
> every refresh, is it possible to stop the refresh of orignal.asp?


It is not the function you showed us that refreshes the original.asp
page. It is most likely the method you use to call it.

My guess is that you have something like:
<input type="image" src="..." onclick="NewWindows()">
or perhaps the call to NewWindows is inside an image map.

In any case, you should stop the click that activate NewWindows from
having its normal effect. You do that by adding a "return false"
at the end of the onclick attribute:
onclick="NewWindows();return false;"

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Richard Cornford 09-05-2003 10:20 AM

Re: stop refresh windows?
 
"Baffin Shea" <baffin@shea.com> wrote in message
news:3f584f60$1@newsgate.hknet.com...
>I am a beginner in javascript and looking for help,


OK, save yourself from making the error of producing unreliable scripts
by never attempting to open a new window from a web browser. It may look
easy, you may see it consistently working in your controlled and
predictable test environment and there may even be thousands of examples
and instances of other people attempting it, but on the Internet the
outcome of that simple call to - window.open - is so unpredictable as to
make any planned design that involves the attempt impractical.

>I put the following script in the original.asp:
>
> function NewWindows()
> {
> window.open("abc.asp", "new")
> }
>
>Everytime after the script is run, the original.asp will refresh
>itself and the browser will go back to the top, there is something
>new at the tail of url likes original.asp?x=42&y=6, the value of x
>and y will be different every refresh, is it possible to stop the
>refresh of orignal.asp? Thanks for help.


There is nothing about the - window.open - function (assuming that it is
implemented on the browser and has not been replaced by a content
inserting/re-writing proxy) that would induce a re-load of the current
page. The problem is probably connected with how this function is
called. My guess (because of the query string) is that you have a
failure to cancel the default action in a form that is calling this
function in its onsubmit handler or from an event connected with one
type of submit button (be it <input type="submit">, <input type="image">
or <button>).

Without seeing how the function is called it is impossible to say.

Richard.



Baffin Shea 09-05-2003 03:15 PM

Re: stop refresh windows?
 
Dear Lasse,

Thank you for you help. However, you method will work only in the preview of
ms-frontpage, it doesn't work anymore after upload the .asp to the server
and browse it using IE, any suggestion?

Baffin


"Lasse Reichstein Nielsen" <lrn@hotpop.com>
???????:r82v8s46.fsf@hotpop.com...
> "Baffin Shea" <baffin@shea.com> writes:
>
> > Everytime after the script is run, the original.asp will refresh itself

and
> > the browser will go back to the top, there is something new at the tail

of
> > url likes original.asp?x=42&y=6, the value of x and y will be different
> > every refresh, is it possible to stop the refresh of orignal.asp?

>
> It is not the function you showed us that refreshes the original.asp
> page. It is most likely the method you use to call it.
>
> My guess is that you have something like:
> <input type="image" src="..." onclick="NewWindows()">
> or perhaps the call to NewWindows is inside an image map.
>
> In any case, you should stop the click that activate NewWindows from
> having its normal effect. You do that by adding a "return false"
> at the end of the onclick attribute:
> onclick="NewWindows();return false;"
>
> /L
> --
> Lasse Reichstein Nielsen - lrn@hotpop.com
> Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
> 'Faith without judgement merely degrades the spirit divine.'




Baffin Shea 09-05-2003 03:23 PM

Re: stop refresh windows?
 
Dear Richard,

Thanks for your reply, I call the function like this:

<head>
:
:
<script language=javascript>
function NewWindow()
{
window.open("abc.asp", "new")
}
:
:
</script>
</head>

<body>
:
:
<form>
<input type=image src="cde.gif" onclick="NewWindow()">
</form>
:
:
</body>

Do you have any idea. Thank you.

Regards,
Baffin


"Richard Cornford" <Richard@litotes.demon.co.uk> 撰寫於郵件新聞
:bj9o0j$c74$1$8300dec7@news.demon.co.uk...
> "Baffin Shea" <baffin@shea.com> wrote in message
> news:3f584f60$1@newsgate.hknet.com...
> >I am a beginner in javascript and looking for help,

>
> OK, save yourself from making the error of producing unreliable scripts
> by never attempting to open a new window from a web browser. It may look
> easy, you may see it consistently working in your controlled and
> predictable test environment and there may even be thousands of examples
> and instances of other people attempting it, but on the Internet the
> outcome of that simple call to - window.open - is so unpredictable as to
> make any planned design that involves the attempt impractical.
>
> >I put the following script in the original.asp:
> >
> > function NewWindows()
> > {
> > window.open("abc.asp", "new")
> > }
> >
> >Everytime after the script is run, the original.asp will refresh
> >itself and the browser will go back to the top, there is something
> >new at the tail of url likes original.asp?x=42&y=6, the value of x
> >and y will be different every refresh, is it possible to stop the
> >refresh of orignal.asp? Thanks for help.

>
> There is nothing about the - window.open - function (assuming that it is
> implemented on the browser and has not been replaced by a content
> inserting/re-writing proxy) that would induce a re-load of the current
> page. The problem is probably connected with how this function is
> called. My guess (because of the query string) is that you have a
> failure to cancel the default action in a form that is calling this
> function in its onsubmit handler or from an event connected with one
> type of submit button (be it <input type="submit">, <input type="image">
> or <button>).
>
> Without seeing how the function is called it is impossible to say.
>
> Richard.
>
>




Richard Cornford 09-05-2003 10:10 PM

Re: stop refresh windows?
 
"Baffin Shea" <baffin@shea.com> wrote in message
news:3f58aa99$1@newsgate.hknet.com...
<snip>
><form>
> <input type=image src="cde.gif" onclick="NewWindow()">
></form>

<snip>
>Do you have any idea. Thank you.

<snip>

As Lasse and I suspected, the problem is the failure to cancel the
default action on he input element (which is to submit the form to the
URL specified in the (missing) action attribute of the form element).
And Lasse's suggestion of adding - return false; - to the onclick
handler will cancel that action in all of the browsers that support the
onclick event on <input type="image"> elements. Wider support can be
achieved by providing the FORM element with an onsubmit handler that
cancels the submit by returning false.

I still think it would be better to abandon the window opening idea
entirely but, given what the script does now, it is possible to achieve
exactly the same effect with pure HTML (and if something can be done
with HTML instead of JavaScript it should be done with HTML). If the
FORM element specified "abc.asp" as its ACTION attribute and had a
TARGET attribute of "_blank" you cold forget the script entirely and
achieve the same result:-


<form action="abc.asp" name="fName" target="_blank">
<input type=image src="cde.gif" alt="???">
</form>

One of the advantages of a pure HTML approach to opening new window is
that it reduces the number of possible outcomes when the user clicks the
button down to four. And it is much easier to design a workable UI if a
user action only results in any one of four unpredictable consequences.
One would be ideal but it is still and improvement on the six or seven
possible outcomes of the JavaScript based attempt.

Richard.



Baffin Shea 09-06-2003 05:00 AM

Re: stop refresh windows?
 
Dear Richard,

In fact, I designed using html instead of javascript, it's much more easier.
But a new window will be popup everytime if the button have been clicked.
What I want to do is a new window will be popup in the first time clicking
on the button, and then the window will only be updated and refreshed when
the second time the button to be clicked.

The javascript can do the work:
window.open("abc.asp", "new")

Can it be replaced by the html? If so, then everytime is easier.

p/s: I tried the Lasse's method, it works in Frontpage environment, but
doesn't work after uploading the file in the server.

Thank you.

Regards,
Baffin




"Richard Cornford" <Richard@litotes.demon.co.uk> 撰寫於郵件新聞
:bjb1l8$b5l$1$830fa7a5@news.demon.co.uk...
> "Baffin Shea" <baffin@shea.com> wrote in message
> news:3f58aa99$1@newsgate.hknet.com...
> <snip>
> ><form>
> > <input type=image src="cde.gif" onclick="NewWindow()">
> ></form>

> <snip>
> >Do you have any idea. Thank you.

> <snip>
>
> As Lasse and I suspected, the problem is the failure to cancel the
> default action on he input element (which is to submit the form to the
> URL specified in the (missing) action attribute of the form element).
> And Lasse's suggestion of adding - return false; - to the onclick
> handler will cancel that action in all of the browsers that support the
> onclick event on <input type="image"> elements. Wider support can be
> achieved by providing the FORM element with an onsubmit handler that
> cancels the submit by returning false.
>
> I still think it would be better to abandon the window opening idea
> entirely but, given what the script does now, it is possible to achieve
> exactly the same effect with pure HTML (and if something can be done
> with HTML instead of JavaScript it should be done with HTML). If the
> FORM element specified "abc.asp" as its ACTION attribute and had a
> TARGET attribute of "_blank" you cold forget the script entirely and
> achieve the same result:-
>
>
> <form action="abc.asp" name="fName" target="_blank">
> <input type=image src="cde.gif" alt="???">
> </form>
>
> One of the advantages of a pure HTML approach to opening new window is
> that it reduces the number of possible outcomes when the user clicks the
> button down to four. And it is much easier to design a workable UI if a
> user action only results in any one of four unpredictable consequences.
> One would be ideal but it is still and improvement on the six or seven
> possible outcomes of the JavaScript based attempt.
>
> Richard.
>
>





All times are GMT. The time now is 03:09 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.