Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Aggiungere/modifcare valore input al submit tramite link

    Per vari motivi ho un form del quale devo per forza fare il submit tramite 2 link diversi che dovranno svolgere azioni diverse. Il problema è che non so come recuperare nella pagina di ricezione quale dei 2 link sia stato premuto. Credo che l'unica soluzione sia aggiungere 'al volo' tramite javascript (utilizzo jQuery) un input in base al link premuto?

    Questo il codice:

    Codice PHP:
    <form id="frm_nome">
    ...
    [
    url="#"]Avvia[/url]
    [
    url="#"]Elimina[/url]
    ...
    </
    form>

    <
    script>
    $(
    '#btn_avvia, #btn_elimina').click(function() {
        $(
    '#frm_nome').submit();
    });
    </script> 

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma se fai due funzioni diverse, una per ogni link non fai prima?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    E cosa cambia?

    Il problema è che mi serve fare il submit del form con tutti i valori passati e aggiungere in post quale dei 2 pulsanti è stato premuto.

    Un inizio di soluzione potrebbe essere questa:

    Codice PHP:
    var premuto = $(this).attr("name"); 
    così ottengo quale dei 2 pulsanti è stato premuto.
    Ora resto il problema di appenderlo agli altri dati di post.

  4. #4
    visto che usi post metti un campo hidden a lo popoli con il name del link quando ci viene cliccato sopra

    document.getElementById('nomeCampoHidden').value=n omeDeLLink

    quanto a come ottenere il name del link cliccato, senza quella assurdità di Jquery te lo saprei dire (dico assurdità nel senso che se viene usato per gli effetti speciali passi, ma tende a fasri estendere anche alle funzionalità non speciali dove va a complicare il discorso e niente affatto a semplificarlo)

    Senza Jquery basterebbe su ogni link

    onclick="document.getElementById('nomeCampoHidden' ).value=this.name"

    ps come detto non uso mai Jquery, comunque si spera faccia quel che sembra dire di fare:

    $('#btn_avvia, #btn_elimina').click(function() {
    document.getElementById('nomeCampoHidden').value=t his.name;/*a regola dovrebbe valere this, diversamente dal che non si saprebbe come passare argomenti non previsti a Jquery*/
    $('#frm_nome').submit();
    });

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da aasmdaa
    E cosa cambia?
    Che capisci quale link è stato premuto (se il problema è questo)
    Il problema è che mi serve fare il submit del form con tutti i valori passati e aggiungere in post quale dei 2 pulsanti è stato premuto.
    Avvia
    Elimina
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Per TrueLies: esatto, avevo pensato ad un campo hidden ma non sapevo come dargli il giusto value.

    Per cavicchiandrea: il problema non era tanto quello di sapere quale pulsante è stato premuto nella pagina di partenza, bensì quello di passarlo insieme ai dati in post che poi recupero nell'altra pagina.

    Per completezza il codice in jQuery:

    Codice PHP:
    // recupera il valore dell'attributo name del link premuto
    var premuto = $(this).attr("name");
    // assegna al campo input il valore recuperato
    $('#btn_premuto').val(premuto); 
    Dove btn_premuto è l'id di un campo hidden <input id="btn_premuto" value="">.

    Grazie
    ciao

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Per me ti stai complicando la vita, e scusa se insisto, ma cosi
    Avvia
    non sei a posto?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Bè potrebbe essere...

    Però spiegami allora come faccio poi a recuperare nella pagina di arrivo i dati in post compreso il pulsante che ho cliccato utilizzato il sistema che dici tu.

    Con questo

    onclick="Funzione1(this.id)"

    passo alla funzione javascript della stessa pagina il valore di id del pulsante premuto.

    Poi la funzione fa il submit dell'intero form e nella pagina di destinazione recupero tutti i dati passati in post dal form, tra cui deve essere presente anche quale link ho premuto per poter discriminare quale funzione utilizzare.

    La domanda è: come fai tu dalla funzione javascript dove hai l'id del link premuto a passarlo in post insieme a tutti i dati del form?

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    L'operazione più semplice e appederlo alla pagina di destinazione tipo: miapagina.php?tasto=+dato_passato ma il dato sarebbe inviato in modalità get, se devi inviarlo in post devi creare un elemento hidden come diceva TrueLies in query potrebbe essere una cosa simile a cosi: $("#idForm").html('<input type="hidden" id="tastopremuto" name="tastopremuto" value="'+dato_passato+'" />') poi invii il form.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ma scusa...non offenderti ma è la prima soluzione proposta...

    Per completezza il codice in jQuery:

    codice PHP:

    // recupera il valore dell'attributo name del link premuto
    var premuto = $(this).attr("name");
    // assegna al campo input il valore recuperato
    $('#btn_premuto').val(premuto);


    Dove btn_premuto è l'id di un campo hidden <input id="btn_premuto" value="">.

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.