Problma passaggio valori input hidden in oggetto $.post()

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
Buongiorno ragazzi.
Sapete come è possibile prendere il valore dell'attributo "name" di un input hidden passandolo come "key" di un oggetto nel metodo $.post(action, { key : value }) ??? Il problema è che devo creare una cosa dinamica, perchè non so a priori quanti input hidden avrò nella pagina html. Esempio:

Codice:
     <input type='hidden' name='opzione1' value=''>
     <input type='hidden' name='opzione2' value=''>
     <input type='hidden' name='opzione3' value=''>
     <input type='hidden' name='opzione4' value=''>
//ecc...ce ne possono essere di più o di meno

//chiamata ajax
      $.post( action,
              { 
                  opzione1 : ...,
                  opzione2 : ...,
                  opzione3 : ...,
                  opzione4 : ...,
                  //ecc...
                }, "html" ).done().fail();
      );

Inoltre, cosa ben più complessa, a parte ho un array di stringhe i cui valori devono corrispondere in base all'indice ai valori di opzione1, opzione2, opzion3, opzione4, ecc... Integro l'esempio:

Codice:
var mioArray = ["cane","gatto","elefante","leone" /*ecc...*/ ];

//chiamata ajax integrata
      $.post( action,
              { 
                  opzione1 : "cane",
                  opzione2 : "gatto",
                  opzione3 : "elefante",
                  opzione4 : "leone",
                  //ecc...
                }, "html" ).done().fail();
      );

Immagino debba mettere tutto in delle variabili ma non so dove partire. Forse una soluzione potrebbe essere prima valorizzare i miei input hidden con i valori dell'array...Potete darmi una mano? sono in cattive acque! :(
Grazie a tutti!
 

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
Buongiorno Criric,
io nel frattempo ho creato dinamicamente gli input hidden, così:

Codice:
        var mioArray = ["cane","gatto","elefante","leone" /*ecc...*/ ];

        var i = 0;
        for (i=0; i < totaleDomande; i++) {
            var index = i+1;
     
             $("#form").append("<input type='hidden' class='opzioni' name='opzione"+index+"' value='"+mioArray [i]+"' id=''>");

        }

      //chiamata ajax integrata
      $.post( action,
              { 
                  idForm : ...,
                  idPagina : ...,
                  opzione1 : "cane",
                  opzione2 : "gatto",
                  opzione3 : "elefante",
                  opzione4 : "leone",
                  //ecc...
                }, "html" ).done().fail();
      );

Ora, avendo questo codice, come posso utilizzare serialize() per passare ogni valore creato dinamicamente al posto giusto nell'oggetto? (tenendo presente che avrò anche altre coppie chiave/valore che non dipendono dagli input hidden)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
io uso questa sintassi
Codice:
$.ajax({
        type: "POST",
        url: "pagina.php",
        data: $("#id_del_form").serialize(),
        success: function(response) {
            // azione da eseguire in caso di successo
        },
        error: function(e) {
            // azione da eseguire in caso di errore
        }
    });
in pagina.php ti ritroverai tutti i campi del form
PHP:
var_dump($_POST);
 

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
Purtroppo il sito non utilizza php.

Secondo te funziona in questo modo, mi creerà l'oggetto con tutti i dati che mi servono?:

Codice:
        var mioArray = ["cane","gatto","elefante","leone" /*ecc...*/ ];

        var i = 0;
        for (i=0; i < totaleDomande; i++) {
            var index = i+1;
     
             $("#form").append("<input type='hidden' class='opzioni' name='opzione"+index+"' value='"+mioArray [i]+"' id=''>");

        }

      var paramsForm = $("#form").serialize();
     
      //chiamata ajax integrata
      $.post( action,
                paramsForm, 
               "html" ).done().fail();
      );
 

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
non saprei .. prova.

e come li recuperi i dati in post?

Faccio una raplace di un <ul> interno al form che mi visualizza il risultato:

Codice:
   .done(
      function( data ) {
           $( "#form ul" ).replaceWith( data );
      })

Purtroppo l'applicazione funziona così, non è una scelta mia. A me interessa solamente sapere se la votazione funziona e precisamente se viene passato tutto l'oggetto in post
 

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
Codice:
       var mioArray = ["cane","gatto","elefante","leone" /*ecc...*/ ];

        var i = 0;
        for (i=0; i < totaleDomande; i++) {
            var index = i+1;
     
             $("#form").append("<input type='hidden' class='opzioni' name='opzione"+index+"' value='"+mioArray [i]+"' id=''>");

        }

      var paramsForm = $("#form").serialize();
     
      //chiamata ajax integrata
      $.post( "myAction.do",
                paramsForm, 
               "html" ).done().fail();
      );

Ok, dovrei aver risolto :)
Così mi passa tranquillamente l'oggetto senza andare a passare i valori singolarmente, e passandoli in input hidden...sarei curioso di capire come avrei potuto fare senza il .serialize() ...però anche così sembra fungere... :D

Grazie Criric!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
sarei curioso di capire come avrei potuto fare senza il .serialize()
con un ciclo
HTML:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">            
    $(document).ready(function(){	            
        $("#form input").each(function(){
            alert($(this).attr("name") +  " : " + $(this).val());
        })
    });
</script>
<form id="form">
    <input type="text" name="1" value="1"/>
    <input type="text" name="2" value="2"/>
    <input type="text" name="3" value="3"/>
</form>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Passaggio variabili array php su un tasto jq PHP 3
F Consigli passaggio a nuova piattaforma CMS (Content Management System) 0
F Consigli passaggio a nuova piattaforma SEO e Posizionamento 3
MarcoGrazia Metodi static e passaggio di variabili PHP 1
M Passaggio Valori checbox in textarea Javascript 1
Barierta Testo a comparsa con passaggio del mouse Javascript 17
N Problema passaggio variabili tra pagine PHP 4
P Passaggio id php a javascript PHP 6
M errore dopo passaggio Php 7.2 PHP 6
M Passaggio da una pagina php ad un altra PHP 0
P Passaggio di parametro al metodo: public void run() Java 3
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
R passaggio variabili tra modulo genitore a figlio jQuery 3
J Passaggio variabile tra 2 file php PHP 15
zorro [PHP] passaggio di variabili PHP 7
Z Passaggio php 5.6 a php 7 PHP 1
B [Visual Basic] Passaggio variabili da un progetto all'altro (Visual Studio 2017 C#/SQL) Visual Basic 0
R [PHP] Testo su immagine al passaggio del mouse PHP 2
andreas88 Problema installazione passaggio 2 Magento Magento 0
gandalf1959 Passaggio da mysql a mysqli PHP 13
C Redirect passaggio a https Web Server 1
K [PHP] Passaggio Variabili Senza Refresh Di Pagina PHP 1
A Problema nel passaggio di una animazione da flash a animate Flash 9
S [HTML] Div visibile o nascosto al passaggio del mouse HTML e CSS 3
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP] Passaggio da webapp online a webapp offline PHP 2
V [Javascript] Passaggio valore da popup a pagina madre Javascript 5
V Passaggio codice html a javascript Javascript 8
G [HTML] Variazione di posizione di un tag <a> a passaggio del mouse di un altro tag <a> HTML e CSS 12
ESABOT Problema passaggio dati tra activity tramite intent Sviluppo app per Android 1
F [ASP] passaggio parametri form metodo post Classic ASP 6
3_g passaggio sito da ASP a PHP PHP 9
elpirata [PHP] Passaggio di dati tra variabili PHP 1
A Problema con getCurrentPosition e passaggio variabili da javascript a PHP Javascript 3
T Passaggio dati con ajax ad altra pagina Ajax 6
WebDr [ASP] Passaggio di variabili in un link tra apici ed & Classic ASP 5
M Passaggio valore da una pagina PHP all'altra tramite ajax Ajax 1
T [PHP] Passaggio dati sensore con ajax e exec, lento! PHP 0
P [HTML] Passaggio Url tramite Form non funziona più HTML e CSS 8
Gaetano1991h Passaggio da calendario php a javascript PHP 2
A [Javascript] La larghezza del video player, diminuisce nel passaggio dal primo video ai successivi Javascript 0
E passaggio da procedurale a oop PHP 0
G [PHP] Problema nel passaggio del valore mese PHP 8
localhost.nicola Passaggio array tramite ajax Ajax 3
P Session e cookie funzionano solo dopo passaggio valori tramite POST PHP 8
P aiuto...passaggio variabile Javascript 1
gandalf1959 passaggio variabili da form dopo verifiche: tutte meno una!?!? Javascript 4
M Passaggio variabile PHP 4
T Fermare setInterval e riprendere al passaggio del mouse. Javascript 2
G passaggio di una variabile da javascript a un valore di input Javascript 5

Discussioni simili