Introduzione a JavaScript
Part 6


Caricare 2 frames con un click

É possibile caricare 2 frames con lo stesso click in due diversi modi; é possibile creare un pulsante che chiama un funzione una volta premuto, questa funzione caricherá due pagine nei due frames oppure potrá aprire delle nuove finestre. Nelle parti precedenti di questo corso sono stati presentati tutti gli strumenti necessari per fare questo.

Sono stati creati tre frames. Il primo é occupato dal bottone. La prima pagina HTML é necessaria per definire i frames a attribuire loro i nomi:

frames2.htm


<HTML>
<HEAD>
<title>Frames</title>
</HEAD>
    <FRAMESET COLS="295,*"> 
  <FRAMESET ROWS="100%,*"> 
    <FRAME SRC="loadtwo.htm" NAME="fr1"> 
      </FRAMESET> 
  <FRAMESET ROWS="75%,25%"> 
    <FRAME SRC="cell.htm" NAME="fr2"> 
    <FRAME SRC="cell.htm" NAME="fr3"> 
      </FRAMESET> 
</FRAMESET> 
</HTML>

loadtwo.htm é caricata nel primo frames (quello che ospita il bottone).

loadtwo.htm


<HTML>
<HEAD>
<script language="JavaScript">
<!-- Hiding
  function loadtwo(page2, page3) {
     parent.fr2.location.href=page2;
     parent.fr3.location.href=page3;
}
// -->
</script>
</HEAD>
<BODY>
<FORM NAME="buttons">
     <INPUT TYPE="button" VALUE="2 in a row" 
     onClick="loadtwo('frtest1.htm','frtest2.htm')">
</FORM>
</BODY>
</HTML>

La function loadtwo() é associata alla pressione del pulsante. Due stringhe sono passate alla function. Se si osserva la function loadtwo() si nota che il secondo frame fr2 carica la pagina definita dalla prima stringa passata durante la chiamata.


La seconda tecnica di caricare due pagine con un unico click puó essere implementata caricando una pagina HTML in un frame in questo modo:

<a href="getfr2.htm" target"fr2">Click here!</a>

aggiungendo poi la proprietá onLoad alla pagina appena caricata, Getfr2.htm potrebbe presentarsi cosi:


<HTML>
<BODY onLoad="parent.fr3.location.href='getfr3.htm'; return true;">
bla bla bla
</body>
</html>

Aprire nuove finestre con un link

Un altro problema simile, é come una nuova pagina puó essere caricata in una nuova finestra. La nuova finestra sará aperta quando l'utente fará click sul link, occorre quindi aggiungere la proprietá 'target' nel tag <a href ...> :

<a href="goanywhere.html" target="Resource Window">Go!</a> 

Operators

Per poter confrontare dei valori e prendere di conseguenza delle decisioni potrei scrivere qualcosa di simile:

if (x>3) 
	if (x<10) doanything(); 

La function doanything() é chiamata quando x>3 e x<10. Ma esiste un modo piú rapido di scrivere questa espressione:


if (x>3 && x<10) doanything();

&& operatore AND.

| | operatore OR:


if (x==5 || y==17) doanything();

I confronti vengono effettuati tramite gli l'operatori:

==,<,>,<=,>=,!=

mentre = (singolo) é utilizzato per registrare un valore in una variabile.


Index - Part 1 - Part 2 - Part 3 - Part 4 - Part 5 - Part 7

Ultimo aggiornamento: