Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Creare una funzione JavaScript che "fermi" l'esecuzione del codice

    Mi spiego meglio.
    Ho una pagina HTML (o meglio, HTML contenuto in un file PHP) dove c'è un form con vari "radio buttons" e un tasto per il submit della scelta.
    Il form reindirizza ad un'altra pagina che, se non viene specificato un parametro nell'URL, dà un messaggio di errore. (creato appositamente da me )
    Purtroppo questo tasto di submit funziona anche se non è stato premuto un "radio button" e ho cercato su Internet per fare in modo che se non viene selezionato un tasto da errore.
    Ho trovato quello che volevo: infatti se non viene selezionato un tasto spunta un avviso che indica un messaggio di errore.
    Ottimo.
    Tuttavia, alla chiusura di questo avviso, è come se non fosse successo niente: il submit riesce perfettamente e si arriva alla mia pagina di errore.

    In poche parole è possibile creare una funzione JavaScript che al submit dà un avviso e impedisce di proseguire?
    Grazie a tutti.

    Questa è la funzione che ho trovato (modificata in alcune parti):
    codice:
    function radioChecked(radioObj) {
            if(!radioObj){ alert("Prima di continuare è necessario selezionare un sito.") ; }
            
            var radioLength = radioObj.length;
            
            if(radioLength == undefined)
                    if(radioObj.checked)
                            return true;
                    else
                            return false;
                            
            for(var i = 0; i < radioLength; i++) {
                    if(radioObj[i].checked) {
                            return true;
                    }
            }
            return false;
    }

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Invece d'usare un tasto submit usa un button con evento onclick alla funzione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Purtroppo con "button" non invia i dati quindi devo accontentarmi di submit.
    Lo script originale era questo:
    codice:
    function radioChecked(radioObj) {
            if(!radioObj)
                    return false;
            var radioLength = radioObj.length;
            if(radioLength == undefined)
                    if(radioObj.checked)
                            return true;
                    else
                            return false;
            for(var i = 0; i < radioLength; i++) {
                    if(radioObj[i].checked) {
                            return true;
                    }
            }
            return false;
    }
    Come posso fare in modo che quando premo il tasto se non ho selezionato un "radio button" mi da errore (Per continuare ecc...) e ferma il submit senza usare "button"?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Per l'invio del form al true ti basta fare document.nome-form.submit ()
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Non funziona: esce il messaggio che desidero, poi "undefinied", e reindirizza alla pagina successiva.
    Comunque il codice del tasto submit che uso è questo:
    codice:
    <input type='submit' value='Procedi' onclick='alert(radioChecked(document.sitelist.url))'/>
    (invece di document.nome-form.submit nel sito dove ho trovato il codice JavaScript c'era scritto di usare document.nome-form.variabile-che-i-tasti-devono-trasmettere-in-questo-caso-url)
    Nel caso in cui non ci riesco in alcun modo, potrebbe essere possibile usare un altro linguaggio? PHP? HTML?

    P.S. Il form usa il metodo GET.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    @leandro segui il labbiale no submit usa il button con onclick e al return true della funzione per inviare il form usi document.nomedeltuoform.submit ()
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Edit mi sono sbagliato
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Allora non si può fare niente? Devo vivere con questo "bug"?

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da leandro-2003
    Allora non si può fare niente? Devo vivere con questo "bug"?
    Quale bug? e' il comportamento corretto, come riportano tutti i manuali

    Qualunque script tu associ all'evento onclick del tasto submit i suoi effetti sono limitati al solo tasto e non si propagano al form che lo contiene...
    Usa la sintassi corretta:

    <form ... onsubmit="return radioChecked(document.sitelist.url)">

    ...
    <input type='submit' value='Procedi' />
    </form>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    Ho fatto così
    codice:
    <form action='...' method='get' name='sitelist' onsubmit='return radioChecked(document.sitelist.url)'>
    ...
    <input type='submit' value='Procedi' />
    Ma non cambia niente. Dopo aver chiuso l'alert, il submit avviene.

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.