stop refresh windows?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Baffin Shea

    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("ab c.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

    #2
    Re: stop refresh windows?

    "Baffin Shea" <baffin@shea.co m> writes:
    [color=blue]
    > 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?[/color]

    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="NewWin dows()">
    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="NewWin dows();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.'

    Comment

    • Richard Cornford

      #3
      Re: stop refresh windows?

      "Baffin Shea" <baffin@shea.co m> wrote in message
      news:3f584f60$1 @newsgate.hknet .com...[color=blue]
      >I am a beginner in javascript and looking for help,[/color]

      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.
      [color=blue]
      >I put the following script in the original.asp:
      >
      > function NewWindows()
      > {
      > window.open("ab c.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.[/color]

      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.


      Comment

      • Baffin Shea

        #4
        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 >
        ???????:r82v8s4 6.fsf@hotpop.co m...[color=blue]
        > "Baffin Shea" <baffin@shea.co m> writes:
        >[color=green]
        > > Everytime after the script is run, the original.asp will refresh itself[/color][/color]
        and[color=blue][color=green]
        > > the browser will go back to the top, there is something new at the tail[/color][/color]
        of[color=blue][color=green]
        > > 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?[/color]
        >
        > 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="NewWin dows()">
        > 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="NewWin dows();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.'[/color]


        Comment

        • Baffin Shea

          #5
          Re: stop refresh windows?

          Dear Richard,

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

          <head>
          :
          :
          <script language=javasc ript>
          function NewWindow()
          {
          window.open("ab c.asp", "new")
          }
          :
          :
          </script>
          </head>

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

          Do you have any idea. Thank you.

          Regards,
          Baffin


          "Richard Cornford" <Richard@litote s.demon.co.uk> ¼¶¼g©ó¶l¥ó·s»D
          :bj9o0j$c74$1$8 300dec7@news.de mon.co.uk...[color=blue]
          > "Baffin Shea" <baffin@shea.co m> wrote in message
          > news:3f584f60$1 @newsgate.hknet .com...[color=green]
          > >I am a beginner in javascript and looking for help,[/color]
          >
          > 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.
          >[color=green]
          > >I put the following script in the original.asp:
          > >
          > > function NewWindows()
          > > {
          > > window.open("ab c.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.[/color]
          >
          > 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.
          >
          >[/color]


          Comment

          • Richard Cornford

            #6
            Re: stop refresh windows?

            "Baffin Shea" <baffin@shea.co m> wrote in message
            news:3f58aa99$1 @newsgate.hknet .com...
            <snip>[color=blue]
            ><form>
            > <input type=image src="cde.gif" onclick="NewWin dow()">
            ></form>[/color]
            <snip>[color=blue]
            >Do you have any idea. Thank you.[/color]
            <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.


            Comment

            • Baffin Shea

              #7
              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("ab c.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@litote s.demon.co.uk> ¼¶¼g©ó¶l¥ó·s»D
              :bjb1l8$b5l$1$8 30fa7a5@news.de mon.co.uk...[color=blue]
              > "Baffin Shea" <baffin@shea.co m> wrote in message
              > news:3f58aa99$1 @newsgate.hknet .com...
              > <snip>[color=green]
              > ><form>
              > > <input type=image src="cde.gif" onclick="NewWin dow()">
              > ></form>[/color]
              > <snip>[color=green]
              > >Do you have any idea. Thank you.[/color]
              > <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.
              >
              >[/color]


              Comment

              Working...