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

    Validare campo se visibile

    Ciao a tutti,

    ho un form con dei campi obbligatori che gestisco con questo script:

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function DoSubmit(obj) {
    var Data = obj.Data.value;
    var DA_Ora = obj.DA_Ora.value;
    var A_Ora = obj.A_Ora.value;
    var IDCliente = obj.IDCliente.value;
    var Descrizione = obj.Descrizione.value;

    var strMailFilter = /^.+@.+\..{2,3}$/;
    var strIllegalChars = /[\(\)\<\>\;\:\\\*\+\=\"\[\]]/;
    var strOra = /^([0-1][0-9]|[2][0-3])[0-5][0-9])$/

    var submitform = true;
    var error = '>>> MODULO -------------------------------------\n\n';
    error += ' Attenzione : \n\n';


    if (Data.length < 9) {
    error += ' > Il Campo Data è un campo obbligatorio \n';
    submitform = false;
    }
    if (Data.length > 10 ) {
    error += ' > Il Campo Data può contenere massimo 10 caratteri \n';
    submitform = false;
    }
    if (Data.length > 0 && Data.match(strIllegalChars)) {
    error += ' > Il Campo Data contiene caratteri non consentiti \n';
    submitform = false;
    }

    if (DA_Ora.length < 5) {
    error += ' > Il Campo Ora DA è un campo obbligatorio \n';
    submitform = false;
    }
    if (DA_Ora.length > 5 ) {
    error += ' > Il Campo Ora DA può contenere massimo 5 caratteri \n';
    submitform = false;
    }
    if (DA_Ora.length > 0 && DA_Ora.match(strOra)) {
    error += ' > Il Campo Ora DA contiene caratteri non consentiti \n';
    submitform = false;
    }


    if (A_Ora.length < 5) {
    error += ' > Il Campo Ora A è un campo obbligatorio \n';
    submitform = false;
    }
    if (A_Ora.length > 5 ) {
    error += ' > Il Campo Ora A può contenere massimo 5 caratteri \n';
    submitform = false;
    }
    if (A_Ora.length > 0 && A_Ora.match(strIllegalChars)) {
    error += ' > Il Campo Ora A contiene caratteri non consentiti \n';
    submitform = false;
    }


    if (obj.IDOperatore.options[obj.IDOperatore.selectedIndex].value == '') {
    error += ' > Il Campo Per è un campo obbligatorio \n';
    submitform=false;
    }


    if (IDCliente.length < 1) {
    error += ' > Il Campo Da è un campo obbligatorio \n';
    submitform = false;
    }
    if (IDCliente.length > 50 ) {
    error += ' > Il Campo Da può contenere massimo 50 caratteri \n';
    submitform = false;
    }
    if (IDCliente.length > 0 && IDCliente.match(strIllegalChars)) {
    error += ' > Il Campo Da contiene caratteri non consentiti \n';
    submitform = false;
    }


    if (Descrizione.length < 5) {
    error += ' > Il Campo Descrizione è un campo obbligatorio \n';
    submitform = false;
    }
    if (Descrizione.length > 1000 ) {
    error += ' > Il Campo Descrizione può contenere massimo 1000 caratteri \n';
    submitform = false;
    }
    if (Descrizione.length > 0 && Descrizione.match(strIllegalChars)) {
    error += ' > Il Campo Descrizione contiene caratteri non consentiti \n';
    submitform = false;
    }


    if (submitform) {
    obj.submit();
    }
    else {
    error += '\n--- Fine Controllo ---\n\n';
    alert (error);
    return false;
    }
    }
    -->
    </script>

    adesso però devo aggiungere un checkbox ("Pratica") che se attivo fa comparire un nuovo campo textarea ("Richiesta") che a sua volta deve essere validato.

    Come posso fare a inserire un controllo, dentro lo script che utilizzo, per questo nuovo campo ma solo se è attivo il checkbox "Pratica" ?


    <input onclick="document.all.ViewInserimento.style.displa y = (document.all.ViewInserimento.style.display == 'none') ? '' : 'none'" type="checkbox" name="Pratica" value="SI">


    <div id="ViewInserimento" style="display:none">
    <textarea rows="8" name="Richiesta" cols="80"><%=Richiesta%></textarea>
    </div>
    Pippo Giacalone
    giacalone@tin.it

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    if(obj.Pratica.display=='block' && !obj.Pratica.checked){
    error += ' > Il Campo Pratica deve essere selezionato\n';
    submitform = false;
    }
    consiglio non utilizzare document.all che e prioritario IE, se il sito e pubblico e lo visto con FireFox o Netscape non funziona.
    Sostituiscilo con doument.getElementById('NomeID') e nel oggeto del form aggiungi l'Id.
    Es:
    codice:
    <input onclick="document.getElementById('Pratica').style.display = (document.getElementById('Pratica').style.display == 'none') ? '' : 'none'" type="checkbox" name="Pratica" id="Pratica" value="SI">
    P.S. l'Id puo essere anche diverso dal nome.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    anche se un po in ritardo riesumo questo post....

    grazie per la risposta cavicchiandrea,
    ma io devo validare il campo che si chiama Richiesta che viene attivato dal checkbox ("Pratica")
    Pippo Giacalone
    giacalone@tin.it

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da peppeweb
    anche se un po in ritardo riesumo questo post....

    grazie per la risposta cavicchiandrea,
    ma io devo validare il campo che si chiama Richiesta che viene attivato dal checkbox ("Pratica")
    prova cosi:
    codice:
    if(obj.Richiesta.value == "" && obj.Pratica.checked){
    error += ' > Il Campo Richiesta deve essere compilato\n';
    submitform = false;
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Grazie Cavicchiandrea, sembra funzionare perfettamente
    Pippo Giacalone
    giacalone@tin.it

  6. #6
    Cavicchiandrea ancora una cosa,

    se io dovessi controllare del campo Richiesta non solo se è vuoto ma anche la sua dimensione, i caratteri inseriti etc etc come è nello script:

    if (Descrizione.length < 5) {
    error += ' > Il Campo Descrizione è un campo obbligatorio \n';
    submitform = false;
    }
    if (Descrizione.length > 1000 ) {
    error += ' > Il Campo Descrizione può contenere massimo 1000 caratteri \n';
    submitform = false;
    }
    if (Descrizione.length > 0 && Descrizione.match(strIllegalChars)) {
    error += ' > Il Campo Descrizione contiene caratteri non consentiti \n';
    submitform = false;
    }
    Pippo Giacalone
    giacalone@tin.it

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da peppeweb
    Cavicchiandrea ancora una cosa,

    se io dovessi controllare del campo Richiesta non solo se è vuoto ma anche la sua dimensione, i caratteri inseriti etc etc come è nello script:

    if (Descrizione.length < 5) {
    error += ' > Il Campo Descrizione è un campo obbligatorio \n';
    submitform = false;
    }
    if (Descrizione.length > 1000 ) {
    error += ' > Il Campo Descrizione può contenere massimo 1000 caratteri \n';
    submitform = false;
    }
    if (Descrizione.length > 0 && Descrizione.match(strIllegalChars)) {
    error += ' > Il Campo Descrizione contiene caratteri non consentiti \n';
    submitform = false;
    }
    cosi:
    codice:
    if(obj.Richiesta.value == "" && obj.Pratica.checked){
    error += ' > Il Campo Richiesta deve essere compilato\n';
    submitform = false;
    }else if (obj.Richiesta.length < 5) { 
    error += ' > Il Campo Richiesta deve contenere almeno 5 caratteri \n';
    submitform = false;
    }else if (obj.Richiesta.length > 1000 ) {
    error += ' > Il Campo Richiesta può contenere massimo 1000 caratteri \n';
    submitform = false;
    }else if (obj.Richiesta.length > 0 && obj.Richiesta.match(strIllegalChars)) { 
    error += ' > Il Campo Richiesta contiene caratteri non consentiti \n';
    submitform = false;
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Grazie cavicchiandrea ma purtroppo non funziona ...

    scusa se ti rispondo in ritardo ma in ufficio abbiamo qualche problema con l'ADSL Telecom e posso controllare soltanto arrivando a casa
    Pippo Giacalone
    giacalone@tin.it

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da peppeweb
    Grazie cavicchiandrea ma purtroppo non funziona ...

    scusa se ti rispondo in ritardo ma in ufficio abbiamo qualche problema con l'ADSL Telecom e posso controllare soltanto arrivando a casa
    Specifica non funziona........ Da un errore? Se si quale? Con che browser? L'errore si riferisce alla parte di codice in oggetto?
    Nessuno qui ha la sfera di cristallo o è "paragnosta" più info fornisci miglie è.

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    non da nessun tipo di errore, ma non funziona
    Pippo Giacalone
    giacalone@tin.it

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.