Form attributo name

di il
4 risposte

Form attributo name

Salve, ho un form con un action che rimanda ad un file php. Il file php funziona correttamente fino a quando aggiungo l'attributo name. L'attributo name mi serve per salvare i dati del form su uno sheet.

In poche parole, se nel form aggiungo il name, non funziona più il file .php, se lo tolgo riprende a funzionare ma non salva i dati.

Quale può essere il problema?
Sto sclerando da 2 giorni

4 Risposte

  • Re: Form attributo name

    Questo il codice js per l'attributo name:
    const scriptURL = 'https://script.google.com/macros/......'
    const form = document.forms['test']
    
    form.addEventListener('submit', e => {
      e.preventDefault()
      fetch(scriptURL, { method: 'POST', body: new FormData(form)})
    })
    Da ignorante chiedo, il malfunzionamento potrebbe derivare dalla doppia richiesta dell'evento submit? Dico doppia perché il file php al submit effettua un redirect in thank you page.
  • Re: Form attributo name

    Filippo1990 ha scritto:


    Questo il codice js per l'attributo name [...]
    Se nel codice fai riferimento al Form da cui prelevare i dati identificandolo in base al suo nome, ossia in base all'attributo name, è ovvio che questo attributo debba essere valorizzato per poter essere usato nella tua implementazione.

    Se vuoi toglierlo, allora nel codice JavaScript dovrai individuare un altro criterio per riconoscere il Form (es. un ID univoco o altro).

    Ciao!
  • Re: Form attributo name

    The issue isn't the name, but e.preventDefault(). When the javascript works, it submits to Google, but it's preventing the default action. You can leave that line to make sure the fetch works, but then you need to tell it to submit the form afterwards.
  • Re: Form attributo name

    Filippo1990 ha scritto:


    The issue isn't the name, but e.preventDefault(). When the javascript works, it submits to Google, but it's preventing the default action. You can leave that line to make sure the fetch works, but then you need to tell it to submit the form afterwards.
    Essendo un forum in lingua italiana, sarebbe opportuno scrivere in italiano, direi.

    Sia perché, pur essendo inglese semplice e tecnico, non tutti potrebbero fruire correttamente della risposta, e anche per una questione di indicizzazione del forum (SEO, ricerca interna, ecc.).
Devi accedere o registrarti per scrivere nel forum
4 risposte