Newsgroup: it.comp.lang.javascript
Titolo: Vorrei sapere se e' fattibile...

Saluti a tutti.
Per le mie cosette per ora mi sono accontentato del PHP, ma penso di
dover
passare a javascript.
Prima che io vada a studiarmelo diligentemente, mi sapreste dire se il
seguente comportamento
e' realizzabile o meno?
Semplifico all'osso. Ho una pagina con un banale form html con un
campo e un bottone
per l'invio:
<div id="ciccio">
<form  method="POST"  action="pippo.php" >
<input type="text"  name="foo" SIZE="8">
<input type="submit" value="VAI">
</form></div>
l'utente mette qualcosa nel campo, preme il bottone e questo porta a
visualizzare la pagina
pippo.php.
poi di solito l'utente torna indietro con il pulsante del suo browser
e cambia il campo e
ripreme il bottone del form e cosi' via.
Di fatto la pagina con il form viene caricata una volta sola, perche'
rimane nella memoria del
browser.
E' invece possibile fare in modo
che, anche tornando indietro, l'utente premendo sul bottone del form
venga indirizzato non sempre su pippo.php, ma,
per esempio, su una pagina a caso tra foobar_1.php e foobar_2.php ?
E' chiaro che potrei mettere del codice php nella pagina con il form,
creando quindi
a lato server due pagine una con action=foobar_1.php e una con
action=foobar_2.php,
ma in questo modo la scelta casuale verrebbe fatta una volta sola, la
prima volta che
l'utente carica la pagina con il form, e poi premendo il bottone
diverse volte (e tornando indietro) l'utente caricherebbe sempre una
solta tra foobar_1 e foobar_2, mentre io vorrei che se un utente
preme il bottone piu' volte vengano invocate pagine potenzialmente
diverse.
Scusate la prolissita', spero di essermi spiegato. E' fattibile questa
cosa secondo voi?
ciao e grazie,
giovanni

 e' realizzabile o meno?
[CUT]
Temo di no (ma non mi sono mai cimentato in queste cose: io se mi inviano 
una pagina via form, server-side faccio un redirect alla stessa pagina, 
così la ricarica ex-novo [oppure in un'altra pagina])
In generale puoi:
 - vedere l'oggetto history:
 
https://developer.mozilla.org/En/DOM/Window.history
 - vedere il metodo replace dell'oggetto location:
 
https://developer.mozilla.org/en/DOM/window.location#replace
Forse così riesci ad ottenere l'effetto voluto con altre strade.

 
Scusa ma se vuoi uno soluzione php only invia un pragma no-cache e poi
metti una variabile in sessione che ti tenga il conto prima volta per
andare a pippo.php oppure se � dalla seconda ti spari una pagina a caso:
molto bestialmente....
<?php
session_start();
$pages = array('pag_rand1.php','pag_rand2.php','pag_rand3.php');
$page_to_post = "pippo.php";
if (isset($_SESSION['first']))
{
  $page_to_post = $pages[rand(0,sizeof($pages)-1)];
}
else
{
  $_SESSION['first'] = 1;
}
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Cache-Control: post-check=0, pre-check=0', false );
header( 'Pragma: no-cache' );
?>
<div id="ciccio">
<form  method="POST"  action="<?=$page_to_post?>" >


Vi ringrazio infinitamente. Nel frattempo ho provato un po' a leggere
un tutorial su javascript
e sono arrivato a questa soluzione che nella sua banalita' mi funziona
e fa esattamente quello
che volevo (poi la posso modificare per avere la casualita', ma non e'
importante).
In pratica usando onClick sul bottone del form modifico la copia della
pagina
presente nella memoria del browser prima di saltare alla pagina
stessa.
Quindi alternativamente mi invoca una o l'altra pagina.
Mi scuso se vi ho fatto perdere tempo!
nell'header:
        <script type="text/javascript">
        function modifica() {
        var e=document.getElementById("zap");
        if (e.action == "fubar1.php") e.action = "fubar2.php";
        else e.action="fubar1.php";
        }
       </script>
<form id="zap" method="POST" action="fubar1.php" >
<input type="text"  name="foo" SIZE="8">
<input type="submit" value="VAI" onClick="modifica()">
</form>
ciao,
giovanni