Script facile facile

marcoint

Utente Attivo
8 Gen 2014
58
0
0
Ragazzi potete crearmi per favore uno script che dal pulsante INVIA del form ( che rimanda ad una pagina .PHP ) faccia aprire quella pagina sulla stessa. Perchè ora come ora quando invio i dati si apre su un'altra scheda. Grazie mille.
 
Probabilmente nel tuo tag form hai assegnato un attributo target, se lo elimini (o lo imposti su _self) dovresti risolvere il problema
 
Non ho messo nessun target comunque ora provo come dici tu. In pratica devo mettere nel <form method="GET" action="prova.php" target=_self>, giusto?
 
Di default dovrebbe aprirsi nella stessa pagina.
Se hai qualcosa come:
HTML:
<form target="_blank" ...></form>
oppure
HTML:
form.setAttribute("target", "_blank");
Rimuovi l'attributo target e dovresti essere a posto.
 
Ragazzi grazie per l'aiuto, però per quanto possa sembrare banale il problema provando in tutti e due i casi la pagina la apre su un'altra. Comunque ragazzi il mio problema non è farlo aprire sulla stessa pagina ma nel <div main> della mia pagina index.html non mi interessa aprire un'altra pagina da 0.
 
Be allora se non mi sbaglio per questa cosa devi usare un iframe!

Ecco il codice:
Codice:
<script>
window.onload = function(){
  var formID = 'mioForm'; // Qui inserisci l'id del tuo form
  var url = 'http://www.w3schools.com/' // Qui inserisci l'url della pagina che vuoi caricare

  document.getElementById(formID).onsubmit = function(){

     var iframe = document.createElement('iframe'); // Creo l'iframe
     iframe.setAttribute('src',url);  // Setto il valore dell'url dell'iframe con quello inserito sopra
     document.body.appendChild(iframe); // Inserisco l'iframe alla fine del body. 

     return false;  // Blocca il submit del form per non far aprire la pagina 
  }
}
</script>

Fammi sapere se va bene! :)
 
Esatto. Utilizzare gli iframe però non è consigliabile soprattutto per un buon posizionamento sui motori di ricerca
 
sisi lo so che non è consigliabile! poi spetta a lui se usare questa cosa o no xD.. io intanto dico come si può fare :)
 
HTML:
<script type="text/javascript">
window.onload = function(){
  var formID = 'dateEventi'; // Qui inserisci l'id del tuo form
  var url = 'sassiesecoli.altervista.org' // Qui inserisci l'url della pagina che vuoi caricare

  document.getElementById(formID).onsubmit = function(){

     var iframe = document.createElement('iframe'); // Creo l'iframe
     iframe.setAttribute('src',url);  // Setto il valore dell'url dell'iframe con quello inserito sopra
     document.body.appendChild(iframe); // Inserisco l'iframe alla fine del body. 

     return false;  // Blocca il submit del form per non far aprire la pagina 
  }
}
</script>
</head>
<body>
<form name=dateEventi; method="GET" action="prova.php" target="_self">
<!--A PARTIRE DA-->
DA
<select name="giornoDA">
   <option value="01">01</option>
   <option value="02">02  </option>
   <option value="03">03 </option>
   <option value="04">04  </option>
   <option value="05">05  </option>
   <option value="06">06</option>
.
.
.
.
.
.
ecc...
Scusami Lorenzo per il ritardo, e grazie della risposta. Però ancora non funziona. Ho integrato sulla pagina il codice (spero di averlo fatto bene) solo che invece di andare su quella pagina va comunque su prova.php. Se può servire sto lavorando appunto su altervista perciò il mio sassiesecoli.altervista.org è L'INDEX mentre lui la apre in ( ti copio tutto l'url):
Codice:
http://sassiesecoli.altervista.org/prova.php?giornoDA=01&meseDA=01&annoDA=2013&giornoFINO=01&meseFINO=01&annoFINO=2013
.
Quindi sempre su un'altra scheda.
Qualcuno sa come mai?
 
l'attributo action del form penso lo devi mettere cosi: action="#"

Comunque non ho capito bene! tu che pagina vuoi che ti si apra all'interno di quella?? prova.php oppure sassiesecoli.altervista.org?? xD.. così capisco bene :)
 
Il form invia dei dati ad una pagina .php che si apre su un'altra scheda. Io voglio che la pagina .php che ha ricevuto i dati dalla pagina del form si apra nel div main della mia pagina principale.
 
allora se vuoi vedere i risultati di quella pagina devi per forza usare ajax se non ho capito male :)
 
Come pensavo. E allora qualcuno di buona volontà può modificarmi questa chiamata ajax ( che funziona per tutti i link del sito ) :
HTML:
<script  type="text/javascript">
            $(document).ready(function() {
                // assegno un evento sulla pressione di uno qualsiasi dei link del menù
                $('a').click(function(e) {   
                  // evito che apra nel div anche la home
                  if ($(this).attr('href') == "index.html") 
                      {
                      return;
                       }
                    // prevengo il funzionamento normale del browser che mi rimanderebbe all'url del link
                    e.preventDefault();
                    // effettuo invece una richiesta in ajax grazie a quella url
                    $.get($(this).attr('href')).done(function(data) {
                        // in caso di riuscita scrivo il responso nel div main
                        $('.main').html(data);
                    });
                });
            });

        </script>

In una chiamata che faccia aprire anche i form e già che ci siamo anche le immagini cliccabili ( quelle con attributo #Map) nel dive della pagina?
E se non è possibile modificarla potete crearmi altre due chiamate ajax per i form e le immagini cliccabili?
Grazie mille per tutto quello che fate :)
 
Ultima modifica:

Discussioni simili