Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380

    attivare submit dopo controlli form

    Ciao a tutti, cerco di descrivere brevemente in cosa mi sono impelagato.

    Ho la seguente situazione:
    1- file.html contenente un form, ogni campo viene validato con "onblur=test()"

    2- file.js contenente la funzione test() la quale utilizza XMLHttpRequest verso un 3 - file.asp

    fin qui tutto ok, i campi vengono validati, ricevo i vari messaggi di mancata validità o meno.

    A questo punto vorrei attivare un "submit buttom" attivando il suo stato di "disabled" dopo aver compilato in modo corretto il form.

    La mia idea è stata di creare un array contenente 1\0 per ogni campo valido o non valido, l'array è ovviamente creato e popolato nel file.asp (contiene tutti i controllli), dovrei far analizzare il contenuto del mio array e quindi poter attivare il "submit buttom" utilizzando una funzione attivabottone() richiamata ad esempio con onkeyup "attivabottone()".... ma come può analizzare l'array??

    E' il file.html che invia i valori non il file.asp (ovviamente)
    Dove sbaglio?
    Spero che almeno si a chiaro il mio problema
    Qualche idea? sono davvero in alto mare!!
    Grazie a tutti
    Ciauz

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Usando XMLHttpRequest hai anche un response, quando questo e valido/ok abiliti il tasto con un if tipo if(ChiamataAjax.responseText=='valore valido')document.getElemenetById('id-button').removeAttribute("disabled")
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    Grazie per la risposta Andrea, ma non mi è proprio chiaro....
    sbaglio o in questo modo il tasto si attiverebbe ogni qualvolta un campo è valido? (anche se non saprei dove collocare il tuo controllo )
    io voglio attivarlo a form completo (da qui l'idea valida o meno dell'array)

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma... non saprei, avrai i tuoi motivi per eseguire i controllo sul singolo campo, e secondo me hai le seguenti possibilità:
    1) Tutti i campi sono disattivati tranne il primo e abiliti il successivo solo quando a passo i controlli tipo campo1 = ok abilito campo 2, etc...
    2) Oltre al fare il controllo "proprio" di quel campo verifico che il campo precedente sia valido tipo campo2 controlla che campo 1 sia valido etc..
    3) Crei un cookie impostato a 0 che incrementi man mano che controlli i campi e al response di ogni campo verifichi il cookie quando questo corrisponde alla somma dei campi obbligatori abiliti il tasto submit
    Per quanto concerne la tua soluzione dell'array non saprei, direi di no, ma un no con mille dubbi.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    GRAZiE!
    Ho optato per la soluzione 3)
    modifico il valore di un cookie ogni volta che il campo è valido.

    Ora, dal momento che la validazione e la successiva modifica del valore del cookie avviene con funzioni del tipo "onblur" \ "onkey" ho notato il seguente problema:

    mettiamo il caso che tutti i campi siano validi --> il tasto si attiva---->OK
    ma se modifico un qualsiasi campo precedente --->cambia il cookie-->dovrebbe tornare inattivo il tasto-->invence non avviene

    Praticamente il controllo sul cookie che precedentemente mi aveva attivato il button ignora il nuovo valore del cookie e quindi mi LASCIA ATTIVO il tasto, bypassando così la validazione!

    C'è un qualche modo per risolvere la situazione? non mi viene in mente proprio nulla!

  6. #6
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    ...allora..lampo di genio
    nell' if controllo sul cookie che mi attiva il "button" ho inserito un

    codice:
    else document.getElementById("bottone").setAttribute("disabled");
    ma purtroppo funziona solo con ie8 (penso,spero, anche con le precedenti) ma non con FIREFOX
    mentre il codice duale:
    codice:
    document.getElementById("bottone").removeAttribute("disabled");
    funziona perfettamente per entrambi

    ok..correggo il mio post aggiungendo che
    codice:
    document.getElementById("bottone").setAttribute("disabled",true);
    funzioni perfettamente con entrambi i browser
    Speriamo che non salti fuori qualcos'altro!

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.