Visualizzazione dei risultati da 1 a 10 su 10

Discussione: function annidate

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166

    function annidate

    ho i seguente problema:

    su un bottone ho la funzione okClick='return controlla_ck();' che fa determinati controlli. all'interno della stessa funzione, dovrei richiamare una ulteriore funzione controllo_valori_ins() che anche lei mi torna true o false a seconda di alcune condizioni. come faccio a includere controllo_valori_ins in controlla_ck e continuare lo script solo nel caso siano entrambe a true?
    esempio pratico:

    -------------

    <INPUT type='submit' value='Modifica' name='bottone' onClick='return controllo_ck(); '>

    -------------

    function controllo_valori_ins() {
    if (document.Ins_Domini.val.value.length < 1) {
    {alert('I valori richiesti devono essere inseriti'); return false;}
    }
    else if (document.Ins_Domini.val.value.length > 150) {
    {alert('Il campo "Descrizione" puō contenere al max 150 caratteri'); return false;}
    }
    else return true;
    }

    -------------


    function controllo_ck() {
    var quale = 0;
    var quale_old = 0;
    for (j=0; j<document.Ins_Domini.elements.length; j++) {
    if (document.Ins_Domini.elements[j].checked && document.Ins_Domini.elements[j].type=='checkbox' ) {
    quale=j-5;
    if (quale_old == 0 )
    { quale_old = quale }
    else
    {alert ('Effettuare una sola selezione'); return false;}
    }
    }
    if (quale <= 0)
    {alert ('Una selezione č obbligatoria'); return false;}
    else
    {return true;}

    return controllo_valori_ins();

    }


    pero' lo script non si ferma se controllo_valori_ins torna a false.

    HELP ME, PLEASE !!!!


  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    function controllo_ck() {
    var quale = 0;
    var quale_old = 0;
    for (j=0; j<document.Ins_Domini.elements.length; j++) {
    if (document.Ins_Domini.elements[j].checked && document.Ins_Domini.elements[j].type=='checkbox' ) {
    quale=j-5;
    if (quale_old == 0 ) {
    quale_old = quale
    } else {
    alert ('Effettuare una sola selezione');
    return false;
    }
    }
    }
    if (quale <= 0) {
    alert ('Una selezione č obbligatoria');
    return false;
    } else {
    return controllo_valori_ins();
    }
    }

  3. #3
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    function controllo_ck() {
    var quale = 0;
    var quale_old = 0;
    for (j=0; j<document.Ins_Domini.elements.length; j++) {
    if (document.Ins_Domini.elements[j].checked && document.Ins_Domini.elements[j].type=='checkbox' ) {
    quale=j-5;
    if (quale_old == 0 ) {
    quale_old = quale
    } else {
    alert ('Effettuare una sola selezione');
    return false;
    }
    }
    }
    if (quale <= 0) {
    alert ('Una selezione č obbligatoria');
    return false;
    } else {
    return controllo_valori_ins();
    }
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166
    GRAZIE !!!!



  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166
    scusatemi... e se 'controllo_valori_ins()' mi ritorna true e voglio fargli eseguire una ulteriore function 'conferma()'?

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    } else {
    if (controllo_valori_ins()) {
    conferma();
    return true;
    } else {
    return false;
    }
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166
    arigrazie !!!

    :quipy: :bubu:

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166
    ho riprovato ma non mi funziona + la conferma dell'update.
    la function completa č la seguente:

    function controllo_ck() {
    var quale = 0;
    var quale_old = 0;
    for (j=0; j<document.Ins_Domini.elements.length; j++) {
    if (document.Ins_Domini.elements[j].checked && document.Ins_Domini.elements[j].type=='checkbox' ) {
    quale=j-5;
    if (quale_old == 0 )
    {quale_old = quale}
    else
    {alert ('Effettuare una sola selezione'); return false;}
    }
    }
    if (quale <= 0)
    {alert ('Una selezione č obbligatoria'); return false;}
    else {
    if (controllo_valori_ins())
    {conferma_update(); return true;}
    else return false;
    }
    }



    cosa c'č di sbagliato?



  9. #9
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    se conferma_update() torna un boolean invece di mettere return true metti return conferma_update()

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166
    adesso funziona perfettamente.
    grazie della sopportazione !!



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.