Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    466

    un chiarimento sul semplice "document.write"

    Prendiamo uno script di interazione fra javascript e php per inserimento e validazione di un form

    // collegamento col DB
    <script language="JavaScript" type="text/JavaScript">

    function validateForm()
    {
    nome=document.frm.nome.value;
    if (nome=="")
    {
    alert("Il commento non è espresso in modo corretto!");
    document.frm.commento.value="";
    document.frm.commento.focus();
    return false;
    }
    return true;
    if (nome=="pippo") { document.write ("ok"); }
    if (nome=="pippo") { alert ("ok"); }
    </script>
    <?php
    //controlli sui campi
    //registrazione dati sul DB
    return
    ?>

    <form onSubmit="return validateForm();" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="frm">
    Nome <input type="text" name="nome" >

    ....
    <input name="frmSubmit" type="submit" value="Invia">

    </form>


    dove le righe in ROSSO e in BLU sono alternative , perchè mettendo document.write tutto si blocca lì stampando OK e non registrando i dati cioè non eseguendo il controllo in php e invece inserendo alert tutto funziona regolarmente?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    document.write andrebbe usato "runtime", mentre il documento non e' ancora stato completamente rendirizzato dal browser

    se lo richiami dopo questo punto sovrascrivi il documento stesso con quanto contenuto nel write,
    questo a volte serve ed e' voluto, ma cosi' some fai adesso il documento originario non esiste piu', non esiste neanche form, ne' tanto meno puo' essere inviato

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 © 2024 vBulletin Solutions, Inc. All rights reserved.