Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464

    Errore HTTP Error 405.0 - Method Not Allowed dopo controllo

    Ciao a tutti, ho un errore molto strano in una pagina dove ho inserito 2 moduli.

    Il primo funziona mentre il secondo ha qualcosa che non va.

    Funzione:

    codice HTML:
            <script>
            <!--
            function Modulo2() {
                // Variabili associate ai campi del modulo
                var email2 = document.modulo2.email2.value;
    
                // Espressione regolare dell'email
                var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
                  
                //Effettua il controllo sul campo NOME
                if (!email_reg_exp.test(email2) || (email2 == "") || (email2 == "undefined")) {
                    alert("Per cortesia inserisci un indirizzo email valido");
                    document.modulo2.email2.select();
                    return false;
                }
                //INVIA IL MODULO
                else {
                    document.modulo2.action = "formcdosys_newsletter.asp";
                    document.modulo2.submit();
                }
            }
            //-->
            </script>
    codice form newsletter:

    codice HTML:
                        <form class="form-inline" method="post" name="modulo2">
                                <div class="col-md-6 col-sm-6">
                                    <div class="form-group">
                                        <label for="Email" class="sr-only">Email</label>
                                        <input type="text" class="form-control" id="email" name="email2" placeholder="Il tuo indirizzo email">
                                    </div>
                                </div>
                                <div class="col-md-6 col-sm-6">
                                    <input class="btn btn-primary btn-block" type="submit" value="Iscriviti" onClick="Modulo2()">
                                </div>
                        </form>
    Lerrore è il seguente:

    Se inserisco l'email ok, viene inviata.
    Se clicco su invia senza inserire alcun testo nel campo email ricarica la pagina dove mi trovo ma mi da questo errore:

    HTTP Error 405.0 - Method Not Allowed

    The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.

    Nella barra degli indirizzi sopra rimane lo stesso indirizzo della pagina in questione.
    Grazie mille in anticipo

    A

  2. #2
    Utente di HTML.it L'avatar di SkyLinx
    Registrato dal
    Jun 2017
    residenza
    Espoo, Finland
    Messaggi
    60
    Significa che l'applicazione, server side, non ha una route POST per la pagina in questione. Devi assicurarti che la pagina possa essere richiesta anche con POST.
    The only way to stay sane is to go a little crazy. - Susanna Kaysen

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Grazi mille ma che vuol dire?
    puoi per cortesia essere piu pratico? io sono autoditatta ed ho solo tanta pratica... un errore del genere non mi era mai capitato prima ;-)

  4. #4
    Utente di HTML.it L'avatar di SkyLinx
    Registrato dal
    Jun 2017
    residenza
    Espoo, Finland
    Messaggi
    60
    Cosa usi server side? PHP? Altro? E qualche framework? Come dicevo, devi fare in modo che l'applicazione accetti richieste alla pagina effettuate con il metodo POST, perche' come si vede dal tuo codice il form invia i dati col il metodo POST. Come fare dipende dal linguaggio e/o framework in uso.
    The only way to stay sane is to go a little crazy. - Susanna Kaysen

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Quote Originariamente inviata da SkyLinx Visualizza il messaggio
    Cosa usi server side? PHP? Altro? E qualche framework? Come dicevo, devi fare in modo che l'applicazione accetti richieste alla pagina effettuate con il metodo POST, perche' come si vede dal tuo codice il form invia i dati col il metodo POST. Come fare dipende dal linguaggio e/o framework in uso.
    Grazie ancora però non capisco perche un altro controllo, nella stessa pagina, funziona comunque.

    i due sono identici cambia solo il nome del modulo per evitare di fargli fare confuzione.

    il primo è questo

    codice HTML:
            <script>
            <!--
            function Modulo() {
                // Variabili associate ai campi del modulo
                var nome = document.modulo.nome.value;
                var cognome = document.modulo.cognome.value;
                var telefono = document.modulo.telefono.value;
                var email = document.modulo.email.value;
                var dataarrivo = document.modulo.dataarrivo.value;
                var datapartenza = document.modulo.datapartenza.value;
    
                // Espressione regolare dell'email
                var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
                  
                //Effettua il controllo sul campo NOME
                if ((nome == "") || (nome == "undefined")) {
                    alert("Per cortesia inserisci il tuo nome");
                    document.modulo.nome.focus();
                    return false;
                }
                else if ((cognome == "") || (cognome == "undefined")) {
                    alert("Per cortesia inserisci il tuo cognome");
                    document.modulo.cognome.focus();
                    return false;
                }
                else if ((telefono == "") || (telefono == "undefined")) {
                    alert("Per cortesia inserisci il tuo telefono");
                    document.modulo.telefono.focus();
                    return false;
                }
                else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
                    alert("Per cortesia inserisci un indirizzo email valido");
                    document.modulo.email.select();
                    return false;
                }
                else if ((dataarrivo == "") || (dataarrivo == "undefined")) {
                    alert("Per cortesia inserisci la data di arrivo");
                    document.modulo.dataarrivo.focus();
                    return false;
                }
                else if ((datapartenza == "") || (datapartenza == "undefined")) {
                    alert("Per cortesia inserisci la data di partenza");
                    document.modulo.datapartenza.focus();
                    return false;
                }
                //INVIA IL MODULO
                else {
                    document.modulo.action = "formcdosys_contatti.asp";
                    document.modulo.submit();
                }
            }
            //-->
            </script>
    il secondo, quello che non va, questo:

    codice HTML:
            <script>
            <!--
            function Modulo2() {
                // Variabili associate ai campi del modulo
                var email2 = document.modulo2.email2.value;
    
                // Espressione regolare dell'email
                var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
                  
                //Effettua il controllo sul campo NOME
                if (!email_reg_exp.test(email2) || (email2 == "") || (email2 == "undefined")) {
                    alert("Per cortesia inserisci un indirizzo email valido");
                    document.modulo2.email2.select();
                    return false;
                }
                //INVIA IL MODULO
                else {
                    document.modulo2.action = "formcdosys_newsletter.asp";
                    document.modulo2.submit();
                }
            }
            //-->
            </script>

  6. #6
    Utente di HTML.it L'avatar di SkyLinx
    Registrato dal
    Jun 2017
    residenza
    Espoo, Finland
    Messaggi
    60
    Il problema non e' con il controllo JavaScript (forum sbagliato), ma server side. Come dicevo l'errore significa che la pagina non puo' essere caricata col metodo POST... non so come altro spiegare visto che sto ripetendo la stessa cosa... E' un problema server side, non client side. Se cambi "post" con "get" funziona?
    The only way to stay sane is to go a little crazy. - Susanna Kaysen

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    non va comunque, però ho risolto uin altro modo, levando il controllo.
    Ora mi accontento di inviare l'email anche se il campo è vuoto non fa nulla...
    Grazie lo stesso per il tuo aiuto
    F

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.