Visualizzazione dei risultati da 1 a 6 su 6

Discussione: window.open

  1. #1

    window.open

    Salve,
    vi descrivo il mio problema:
    in una pagina "lista_prestiti.php" ho un form con un pulsante "reso" che se cliccato mi verifica la seguente funzione:
    function controlla_reso(){
    var x=document.scheda_reso;

    window.location.reload();
    x.action = "conferma_reso.php";
    window.open('','BiblioOnLine_Conferma_reso','width =500,height=200,status=no');
    x.target="BiblioOnLine_Conferma_reso";
    x.submit();
    }

    che mi dovrebbe aprire la pagina "conferma_reso.php" con un messaggio del tipo "vuoi continuare?"
    In realtà mi apre una nuova finestra ma tale finestra è bianca del tipo "about:blank - Microsoft Internet explorer"..avete qualche idea su dove commetto l'errore?

    Grazie
    .::C A R P E ^-^ D I E M ::.

  2. #2
    dovevi postare in Javascript...
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Evidentemente hai provato lo script in un browser che "interpreta" a modo suo.

    In un browser serio quello script non fa nulla, in quanto viene terminato dopo il reload().

    Per poter dare dei consigli, dovresti postare anche il tag <form> dove tale script viene chiamato, e dovresti dire cosa dovrebbe fare.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Salve,
    il form che richiama la funzione è il seguente:
    echo "<form name=\"scheda_reso\" method=\"post\" onSubmit=\"return controlla_reso()\">
    <td valign=\"bottom\">

    <input type=\"submit\" name=\"salva\" value=\"Reso\" >
    <input name=\"codiceP\" type=\"hidden\" value=\""; if (!empty($record['IDPrestito'])){ echo $record['IDPrestito']; } echo "\">
    <input name=\"codiceV\" type=\"hidden\" value=\""; if (!empty($record['PrIDVolume'])){ echo $record['PrIDVolume']; } echo "\">

    </td>
    </form>
    naturalmente la funzione controlla_reso() mi dovrebbe aprire una finestra "conferma_reso.php" che contiene il codice:
    <?php
    session_start();
    if (!session_is_registered('mysession')){
    echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0.2;URL=../index.php\">";
    exit;
    }

    include("../Dbconnector.inc");

    $con=new DbConnector;
    $con->_connect();
    $con->_use('Biblioteca');
    $query="select * from tblprestiti where IDPrestito=".$_POST['codiceP'];
    $response=$con->_sql($query);

    ?>
    <script language="JavaScript">
    <!--
    function chiudi(){
    lista_prestiti.location.reload();
    window.close();

    }
    -->
    </script>
    <html>
    <head>
    <title>Biblio on-line - Conferma reso</title>

    </head>

    <body>
    <?php

    list ($anno,$mese,$giorno)=explode ("-",$response[0]['PrDataResoPrevista']);
    if (mktime(0,0,0,date("m"),date("d"),date("Y")) > mktime(0,0,0,$mese,$giorno,$anno)) {
    echo "
    <div align=\"center\">Attenzione la data odierna è successiva alla data prevista per il reso!
    ";
    echo "<a href=\"elabora_prestito.php?codiceP=".$_POST['codiceP']."&codiceV=".$_POST['codiceV']."\" onClick=\"chiudi()\">OK</a>
    </div>";
    } else {
    echo "
    <div align=\"center\">Attenzione stai per effettuare l'operazione di reso,vuoi continuare?
    ";
    echo "<a href=\"elabora_prestito.php?codiceP=".$_POST['codiceP']."&codiceV=".$_POST['codiceV']."\" onClick=\"chiudi()\">SI</a> <a href=\"#\" onClick=\"javascript:setTimeout('self.close()',300 )\">NO</a>
    </div>";
    }
    ?>
    </body>
    </html>

    se non sono stato chiaro fatemi altre domande
    .::C A R P E ^-^ D I E M ::.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ti confido che non ho capito cosa debba fare la funzione, dato che quella da te postata ha delle cose per cui non puo` funzionare e il codice PHP che hai postato non mi dice nulla

    Comunque ti propongo questa modifica; vedi se assomiglia a quello che volevi.
    codice:
    function controlla_reso(x){
      x.action = "conferma_reso.php";
      window. open('', 'BiblioOnLine_Conferma_reso', 'width=500,height=200,status=no');
      x.target="BiblioOnLine_Conferma_reso";
      return true;
    }
    da richiamare con:
    <form name="scheda_reso" method="post" onsubmit="return controlla_reso(this)">

    Nel form ci dovra` essere un campo submit del tipo:
    <input type="submit" value="reso">
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    grazie...funziona
    .::C A R P E ^-^ D I E M ::.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.