Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    submit form cacendo click su pulsante submit. No jquery

    Ho un form di id=form1
    dentro ci sono due TextBox e un pulsante di submit.
    Questo pulsante non ha id ed ha un name=Submit

    Ho necessità che del codice javascript simuli il click di questo pulsante. L'ho fatto con jquery e va. Ma mi servirebbe senza jquery. Quello che vorrei fare, in pseudo codice è:

    primo (e unico) elemento submit di form1. click()

    Pietro

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Forse questo è quello che fa per te altrimenti cerca qui altre soluzioni.
    Da una lettura veloce il problema mi sembra la compatibilità con i vari browser pertanto non escluderei jquery

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Puoi usare:
    codice:
    document.getElementById('form1').submit();

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Puoi usare:
    codice:
    document.getElementById('form1').submit();
    Ricorda che invocare direttamente il metodo submit() non fa scattare automaticamente l'eventuale gestore dell'evento onsubmit del 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

  5. #5
    Quote Originariamente inviata da br1 Visualizza il messaggio
    Ricorda che invocare direttamente il metodo submit() non fa scattare automaticamente l'eventuale gestore dell'evento onsubmit del form.
    Se è legato all'evento "submit" (come dovrebbe essere) e non all'evento "click sul pulsante" (soluzione poco elegante), mi risulta che l'evento dovrebbe scattare, o mi sbaglio?
    Ultima modifica di lucavizzi; 08-06-2015 a 12:36

  6. #6
    Quote Originariamente inviata da br1 Visualizza il messaggio
    Ricorda che invocare direttamente il metodo submit() non fa scattare automaticamente l'eventuale gestore dell'evento onsubmit del form.
    Ho fatto un test ed è vero quello che dice br1 (Chi l'avrebbe mai detto ;-) ). Se c'è un evento legato al submit, non scatta.

    Quindi per ottenere un lancio dell'evento, bisognerebbe assegnarlo all'evento "submit" del modulo e lanciare programmaticamente il click sul pulsante di invio.
    Per comodità, visto che il pulsante non ha un id, si potrebbe usare la versione 3 del DOM in questa maniera:
    codice:
    document.querySelector('#form1 input[type="submit"]').click();
    altrimenti, assegnando un id al pulsante di invio, basta anche il DOM 2:
    codice:
    document.getElementById('id_del_submit').click();

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quello che non e' stato detto e' se vi siano limitazioni al piu' logico utilizzo diretto delle funzioni.... perche' fare click sul pulsante? non e' meglio invocare direttamente il submit() del form? magari richiamando prima le eventuali funzioni onsubmit se queste fungono anche da verifica, ovvero passare da

    mio_pulsante.click()

    a

    if(funzione_verifica()) mio_form.submit();
    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

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.