Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: array che non funziona

  1. #1

    array che non funziona

    salve ho questo script....che ovviamente non funziona...dovreppe controllare che i campi periodo e offerta siano pieni ma non fa il controllo....sapete cosa c'è d sbagliato?
    <script>
    function VerificaOfferta(){
    var a;
    var ciccio= new Array();
    var Errore;
    Errore=false;

    ciccio[0] = new Array
    ciccio[0][0]= "periodo";
    ciccio[0][1]= document.form.periodo.value;
    ciccio[1] = new Array(); //dichiaro la nuova singola riga
    ciccio[1][0]= "offerta";
    ciccio[1][1]= document.form.offertatipo.value;

    var Stringa;
    Stringa="mancano i seguenti campi: ";

    //CONTROLLO SE I CAMPI SONO TUTTI PIENI
    for(a=0; a<=2; a++){
    if (ciccio[a][1]=="")
    Errore=true;
    Stringa=Stringa+ciccio[a][0]+", ";
    }
    }
    </script>
    ...:: guardare con gli occhi della mente ::...

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dichiari il vettore lungo 2 e poi testi tre valori, ma manca anche una conclusione al tutto:
    codice:
    ...
      for(a=0; a<ciccio.length; a++){
        if (ciccio[a][1]=="") {
          Errore=true;
          Stringa=Stringa+ciccio[a][0]+", ";
        }
      } 
      if(Errore) {
        alert(Stringa);
        return false;
      }
      return true;
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ma questo ciclo va ad aggiungersi al mio o il mio va modificato con il tuo codice?cmq non mi fa lo stesso il controllo
    ...:: guardare con gli occhi della mente ::...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Va a sostituire e completare l'ultimo pezzo del tuo.

    Ho aggiunto una parentesi graffa e aggiunto un test con ritorno true o false

    Questo script va chiamato con:
    <form ... onsubmit="return VerificaOfferta();">
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    vado a metterlo sul pulsante a mia disposizione per inserire l'offerta?
    praticamente oh una form con un campo text(periodo) e una textarea(offerta)...vorrei effettuare il controllo che mi permetta di dire a chi sta introducendo i dati l'eventuale dimenticanza di uno o di etrambi i moduli...ma con il mio script questo non accade anzi fa procedere lìinserimento dell'offerta anche se i due campi sono vuoti
    ...:: guardare con gli occhi della mente ::...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non riesco a capire.
    Posta anche il codice HTML connesso (bastano i due campi e il form che li contiene.

    Devi anche dire quale evento deve scatenare il controllo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    ho cambiato script ma non funziona....(strano!!!!).praticamente la mia form è constituita da un campo text dove vado ad inserire il periodo e un campo textarea dove inserisco l'offerta; però cliccando sul tasto inserisci cmq mi fa immettere valori anche se vuoti.
    [CODE]
    function controllaofferta(){
    var errorMsg;
    errorMsg="";
    if (window.document.form.periodo.value==""){
    errorMsg += "il campo periodo è vuoto!\n";
    }
    if (window.document.form.offertatipo.value=="")
    {
    errorMsg += "il campo offerta è vuoto!\n";
    }
    if (errorMsg != ""){
    var messaggio;
    messaggio="Errore:\n"
    messaggio1="Devi compilare questi campi per inserire una uova offerta."
    messaggiofinale=messaggio+errorMsg+messaggio1;
    alert(messaggiofinale);
    }

    else{

    document.form.submit();
    }
    }

    [CODE]
    ...:: guardare con gli occhi della mente ::...

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da trinity20
    ho cambiato script ma non funziona....(strano!!!!).
    Non mi meraviglia.
    Il codice e` corretto, ma il problema e` nella chiamata.
    Come dicevo prima:
    > Posta anche il codice HTML connesso (bastano i due campi
    > e il form che li contiene).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    <form name="form" method="post" action="insert_offerta2.asp">
    <tr>
    <td width="20" height="27" class="testo">Periodo*</td>
    <td width="42"><input name="periodo" type="text" class="text" id="periodo"></td>
    </tr>
    <tr>
    <td class="testo">Offerta*</td>
    <td><textarea name="offertatipo" class="areatext" id="offertatipo"></textarea></td>
    </tr>
    <tr align="center" valign="middle">
    <td colspan="2"> <input name="inserisci" type="submit" class="pulsante" id="inserisci" value="inserisci" onsubmit="controllaofferta()"></td>
    </table>
    </form>
    ...:: guardare con gli occhi della mente ::...

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    <form name="form" method="post" action="insert_offerta2.asp" onsubmit="return controllaofferta()">
      <input name="periodo" type="text" class="text" id="periodo">
      <textarea name="offertatipo" class="areatext" id="offertatipo"></textarea>
      <input name="inserisci" type="submit" class="pulsante" id="inserisci" value="inserisci">
    </form>
    Poi la funzione deve diventare:
    codice:
    function controllaofferta(){
      var errorMsg = "";
      if (window.document.form.periodo.value==""){
        errorMsg += "il campo periodo è vuoto!\n";
      }
      if (window.document.form.offertatipo.value==""){
        errorMsg += "il campo offerta è vuoto!\n";
      }
    
      if (errorMsg != ""){
        var messaggio = "Errore:\n"
        var messaggio1="Devi compilare questi campi per inserire una uova offerta."
        var messaggiofinale=messaggio+errorMsg+mes
    saggio1;
        alert(messaggiofinale);
        return false;
      }else{
        return true;
      }
    }
    Nota che non c'e` piu` l'invio del form dentro la funzione (era un errore), mentre la finzione e` chiamata dal tag form; se la funzione ritorna false il form non viene spedito
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.