Form attributo name

di Anonimizzato25786 il
4 risposte
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

  • 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.
  • 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!
  • 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.
  • 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