Visualizzazione risultati 1 fino 10 di 10

Discussione: [jquery] prelevare form tramite name

  1. #1
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito [jquery] prelevare form tramite name

    Salve.

    Mi ritrovo in una situazione dove sono obbligato ad usare jQuery.

    Devo inviare un form del tipo:

    Codice HTML:
    <form [...] name="nome_form">
    Con javascript, avrei fatto ad esempio:
    Codice:
    document.nome_form.submit();
    Se avesse avuto in id o classe, con jquery avrei potuto fare:

    Codice:
    $('#id_form').submit();
    $('.classe_form').submit();
    Però, sono in una situazione particolare dove non posso modificare il tag del form, quindi non posso nemmeno aggiungere id/classe. (non si tratta di una pagina html).

    Io ho provato in molti modi, ad esempio:

    Codice:
    $('form').attr('name','nome_form').submit();
    ...ma niente...

    Come posso prelevare tramite jQuery un form partendo dal "name"?


    Grazie!

    Ciao!

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Codice:
    $("form[name=nome_form]");
    jQuery, permette di usare selettori ( anche quelli CSS3 ) molto più complessi.
    Ultima modifica di javascripter : 09-07-2011 alle ore 17.39.22

  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Grazie 1000!.

    In quel modo funziona, perché ad esempio:

    Codice:
    alert($("form[name=nome_form]").serialize());
    Funziona correttamente.
    Però, questo non va:
    Codice:
    $("form[name=nome_form]").submit();
    ...Teoricamente è corretto?

    Grazie!

    Ciao!

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Si, teoricamente, è corretto. Io ho provato e funziona!

    Hai una pagina online su cui poter provare?

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Citazione Originalmente inviato da javascripter Visualizza messaggio
    Si, teoricamente, è corretto. Io ho provato e funziona!

    Hai una pagina online su cui poter provare?
    No.. come dicevo non è una pagina, ma in particolare si tratta di un addon (per firefox).
    Comunque in effetti quel modo è corretto, perché la serialize() funziona!. Adesso vedo: semmai recupero l'action e invio il contenuto di serialize via ajax !

    Grazie,
    Ciao!

    EDIT:

    Ah, visto che si tratta di un addon, per usare jquery, in realtà, lo uso in questo modo:
    Codice:
    def_view = content.document;
    $("form[name=nome_form]",def_view).submit();
    Dici che quel dev_view da fastidio? (ma non credo: in generale funziona sempre!).

    Grazie ancora!

    Ciao!
    Ultima modifica di alemoppo : 09-07-2011 alle ore 18.43.50

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Ma perché non puoi usare il buon vecchio DOM?

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Perché lo script dell'addon viene eseguito in un'altra "dimensione " rispetto alla pagina html.

    In effetti, avevo provato (inventando ) con:

    content.document.nome_form.submit();
    Ovviamente non va.

    Con jQuery, in quel modo riesco a raggiungere la pagina correttamente (tranne con questo .submit()!)... Però teoricamente DEVE funzionare, perché il .serialize() funziona!

    Grazie,
    Ciao!
    Ultima modifica di alemoppo : 09-07-2011 alle ore 18.47.20

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Ma lo script dove viene eseguito? Nel chrome? E il modulo dov'è?
    Non potevi fare uno script Greasemonkey?

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,753

    Predefinito

    Lo script viene eseguito nel chrome.
    Il modulo è in una pagina web.

    Greasemonkey l'ho sentito dire, ma non l'ho mai usato...

    Grazie
    ciao!

  10. #10
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Greasemonkey semplicemente esegue gli user script installati (che sono dei normali script Javascript) al caricamento delle pagine da questi designate, ponendo come oggetto globale l'oggetto window della pagina (per ragioni di sicurezza non è proprio lui ma si può anche accedere a quello vero).
    In pratica è come se il tuo user script venga automaticamente incluso in tutte le pagine che hai specificato.

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •