Gå til innhold

Refreshe frames... (HJELP!!!)


Anbefalte innlegg

Heisann! :)

 

Jeg lager en site for et fiktivt importør-firma (skoleoppg). Den er bygd opp med frames: topFrame, leftFrame og mainFrame. Problemet mitt er at jeg har innlogging og oversikt over antall varer i handlekurv i leftFrame, og handlekurv++ i mainFrame. Hvordan kan jeg få leftFrame til å oppdatere seg når en endring skjer i handlekurven.

Jeg har tenkt på en redirect i asp, men har ikke funnet en måte å få med target i redirecten. Har selvfølgelig prøvd å finne en javascript-kode som funker... Men det har jeg ikke klart.

 

HJEEEEELP!!! Skal levere oppgaven på torsdag!

Lenke til kommentar
Videoannonse
Annonse

Heisann..

 

Sent i seng.. eller tidlig ut av den? :D

 

 

Endringen i handlekurven skjer som en følge av det som skjer i mainframe..right? Da er det enkleste å refreshe hele siden.

 

Den koden som kaller "AddToCart"-scriptet ditt (eller nå hva du har kalt det), må sette target = '_top'. I "AddToCart"-scriptet sørger du for å redirekte til hele siden (ikke bare mainframe)

 

 

I javascript blir det noe slikt:

 


          with(window.document.forms[0])

          {

              target = '_top'; //Maa oppdatere hele frameset

              action = 'addToCart.php';

              method = 'post';

              submit();

          }

 

 

 

BIW

Lenke til kommentar

Hei igjen :o

 

Det kunne selvføgelig vært en måte å gjøre det på; å refreshe alle framene, men da blir brukeren logget ut fordi det starter en ny session. (Bruker asp-session variabel til å holde på brukerinnloggingen.)

Går det an å si at koden skal refreshe kun den ene framen?

 

Er ikke helt flink i javascript...

 

PS. Takk for hjelpen. Jeg begynner å bli noe stressa...

Lenke til kommentar

Mjo...det går an :roll:

 

Problemet, er at du ønsker å oppdatere to frames "in one go".

Eller gjør du det? Hmm.. det avhenger litt av hva du har i hoved-framen.

 

Hvis du kun trenger å oppdatere handlevognsinformasjonen etter at brukeren har trykket på noe i hovedsiden kan du muligens komme unna med å sette target til handlevognsframe.

 

Eks:

 


<FRAMESET ROWS="128,*">

 <FRAME NAME="cart" SRC='cart.html'>

 <FRAME NAME="main" SRC="mainframe.html" >

</FRAMESET>

 

og

 

  <FORM ACTION='action.php' METHOD='POST' target='cart'>

     <INPUT TYPE='text' name='txtTest' ><br>

     <INPUT TYPE='submit'>

 </FORM>

 

 

...men det var vel kanskje ikke det som var problemet.. :shrug:

 

Edit: Alternativ løsning

 

Det slo meg at det finnes en måte å oppdatere to frames på samtidig uten å refreshe hele siden.

 

Først oppdaterer du hoved-siden din på vanlig måte.

I hovedsiden legger du til JS-kode som oppdaterer handlevognsframen din.

 

Da vil oppdatering skje i to steg. Ikke noen spesielt pen løsning, men jeg tror den vil fungere.

 

Eksempel kode for å oppdatere enkeltframe:

 

<HTML>

<HEAD>

  <SCRIPT LANGUAGE='javascript'>

      function fncUpdate(objElement)

      {

         var value = objElement.form.txtTest.value;

         window.parent.window.frames['banner'].document.location = 'action.php?txtTest=' +value;        

      }

  </SCRIPT>

</HEAD>



<BODY>



 <FORM >

     <INPUT TYPE='text' name='txtTest' ><br>

     <INPUT TYPE='button' ONCLICK='fncUpdate(this)' VALUE='clickme'>

 </FORM>



</BODY>

</HTML>

 

BIW

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...