Originariamente inviato da Fabyo88
.. l'unica pecca è non avere un database mysql, con quello la cosa si semplificava moltissimo a livello di scrittura di codice, ...
Un Array anche può essere considerato un Database.
Non ho idea del volume dei dati e della frequenza degli aggiornamenti richiesti dal caso specifico, ma ora il tuo intento mi è chiaro.
Il file popup.html allora può essere rappresentato da questo:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
<title>*Funny Moment* | Animatori</title>
<script type="text/javascript">
var members = new Array();
members[0] = new Array('');
// NOME LOCALITA' ETA' TIPOLOGIA DISPONIBILITA'
members[1] = new Array('Fabio', 'Lassù', '21', 'Grande Obeso', 'sempre disponibile');
members[2] = new Array('Roberta', 'Quà', '108', 'Peso Forma', 'poco disponibile' );
members[3] = new Array('Santo', 'Quiggiù (EN)', '26', 'Diabolico', 'assai assiduo' );
members[4] = new Array('Simona', 'Estero', '18', 'Lievemente Sovrappeso', '24/7' );
members[5] = new Array('', '', '', '', '');
function populate(){
var guy = window.opener.who;
for (i=0; i<6; i++){
document.forms[0].elements[i].value = members[guy][i];
}
}
</script>
</head>
<body onload='populate();'><form action="">
<div align="center">
<table align="center" border="0" cellpadding="3" cellspacing="3">
<tr valign="top"><td >Nome: </td><td><input type="text" /></td></tr>
<tr valign="top"><td>Località: </td><td><input type="text" /></td></tr>
<tr valign="top"><td>Età: </td><td><input type="text" /></td></tr>
<tr valign="top"><td>Tipologia: </td><td><input type="text" /></td></tr>
<tr valign="top"><td>Disponibilità:</td><td><input type="text" /></td></tr>
</table>
</div>
</form>
</body>
</html>
La pagina funziona già autonomamente se sostituisci var guy = window.opener.who; con var guy = unNumero;
Con var guy = 2; popoli la scheda per Roberta.
Quello che stiamo gestendo è un Array bi-dimensionale, ogni articolo dell' Array members contiene a sua volta un ulteriore Array.
Così, con members[3][0] accedi a Santo mentre con members[3][3] accedi a Diabolico
var guy = window.opener.who; grazie a window.opener vuole recuperare il valore della variabile dalla finestra master che ha lanciato la pop-up.
La pagina madre nomeCheVuoi.html può quindi essere rappresentata da questa:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
<title>*Funny Moment* | Animatori</title>
<script type="text/javascript">
var who;
function animatori(chi){
who = chi;
window.open('popup.html', 'popup', 'top=200,left=300,width=240,height=280,status=no,menubar=no,toolbar=no,scrollbar=no,resizable=no').focus();
}
</script>
</head>
<body>
<table align="center" border="0" cellpadding="3" cellspacing="3" width="100%">
<tr>
<td valign="top" width="70%">
Fabio
Roberta
Santo
Simona
</td>
</tr>
</table>
</body>
</html>
I link passano alla function un numero, che sarà quello dell' articolo dell' Array members da utilizzare.
È introdotta una nuova variabile var who; che la function setta uguale al parametro chi passatole, e dopo lancia la pop-up.
La pop-up recupera who col riferimento alla window.opener