Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Controllo campo con inaspettato autorefresh

    Ciao a tutti, ho un problema con js: ho fatto una pagina con uno script che controlla che tutti i campi di tipo testo siano stati compilati.
    Tale script non ha problemi ha scovare un eventuale campo vuoto, ma quando l'utente chiude la finestrella che segnala l'errore esso ricarica la pagina, perdendo i dati ad essa precedentemente inviati.

    Perchè???

    Eccovi il codice:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    <script type="text/javascript">
    <!--
    function Modulo() {
    var array_elements = document.modulo.elements;
    for (var i=0; i<array_elements.length; i++) {
    if ((array_elements[i].value=="") && (array_elements[i].type=="text")){
    array_elements[i].focus();
    return false;
    }
    }
    document.modulo.action = "edit.php?action=c_e";
    document.modulo.submit();
    return true;
    }
    //-->
    </script>
    </HEAD>
    <BODY>

    <FORM name="modulo" method="POST">



    *****

    <INPUT type="hidden" name="ids[]" value="4">
    Name: <INPUT type="text" name="names[]" value="informatica">

    Description: <TEXTAREA name="descriptions[]">Componenti e accessori per pc.</TEXTAREA>

    *****</P>

    <INPUT type="submit" value="Conferma" onClick="Modulo()"><INPUT type="reset" value="Annulla">
    </FORM>

    </BODY>
    </HTML>

  2. #2
    Nel codice precedente mancava l'alert, per completezza riposto l'if come è realmente...

    if ((array_elements[i].value=="") && (array_elements[i].type=="text")){
    alert("Devi compilare tutti i campi.");
    array_elements[i].focus();
    return false;
    }

  3. #3
    Questa è una versione migliorata... sembra tutto ok ma nn funziona ancora.. sto impazzendo!

    <script type="text/javascript">
    <!--
    function Modulo() {
    var array_elements = document.modulo.elements;
    for (var i=0; i<array_elements.length; i++) {
    if (((array_elements[i].type=="text")||(array_elements[i].type=="textarea")) && (array_elements[i].value=="")){
    alert("Devi compilare tutti i campi.");
    array_elements[i].focus();
    return false;
    }
    }
    document.modulo.action = "edit.php?action=c_e";
    document.modulo.submit();
    return true;
    }
    //-->
    </script>

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    <script type="text/javascript">
    <!--
    function Modulo() {
      var valid = true;
      var array_elements = document.modulo.elements;
      for (var i=0; i<array_elements.length; i++) {
        if(((array_elements[i].type=="text")||(array_elements[i].type=="textarea")) && (array_elements[i].value=="")){
         alert("Devi compilare tutti i campi.");
         array_elements[i].focus();
         valid = false;
        }
      }
    
      if (valid) {
        document.modulo.action = "edit.php?action=c_e";
        document.modulo.submit();
      }
    }
    //-->
    </script>
    Dovrebbe andare bene...

    EDIT ho fatto delle modifiche, ricopialo
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.