Newsgroup: it.comp.lang.javascript
Titolo: Jquery $.post inviare piu valori

                $("select#colori").change(function(){
                    var colori = $("select#colori 
option:selected").attr('value');
                    var quantita = $("input#quantita").attr('value');
                    var stampa = $("select#stampa 
option:selected").attr('value');
 
                    $.post("select.php", {ID:colori}, function(data){
                        return false;
                    });
                });
 
nella pagina select.php recupero i post :
if(isset($_POST['ID']))
{
    echo "ID ".$_POST['ID'] ;
    die;
}
 
cosi funziona e leggo il valore  $_POST['ID']
ID 2
 
 
mentre ma se modifico il $.post
 
                $("select#colori").change(function(){
                    var colori = $("select#colori 
option:selected").attr('value');
                    var quantita = $("input#quantita").attr('value');
                    var stampa = $("select#stampa 
option:selected").attr('value');
 
                    $.post("select.php", 
{ID:colori,PrinttypeID:stampa,Quantita:quantita}, function(data){
                        return false;
                    });
                });
 
 
if(isset($_POST['ID']))
{
    echo "ID ".$_POST['ID'] ;
    echo "PrinttypeID ".$_POST['PrinttypeID'] ;
    echo "Quantita ".$_POST['Quantita'] ;
 
    die;
}
 
mi da questo risultato:
1
\n
2
\n
 
Ma quanti valori si possono inviare con $.post?
e come li recupero tutti?
 
 

Prima di inviare il $.post prova il seguente:
alert('ID: '+colori+'\nPrinttypeID: '+stampa+'\nQuantita: '+quantita);
osserva il risultato
Con $.post puoi inviari tutti i valori che vuoi, anche se consiglio l'uso di $.ajax perché puoi meglio controllare la comunicazione fra server e client.

 
 
"Oreste"  ha scritto nel messaggio 
news:8234034.126.1321707967158.JavaMail.geo-discussion-forums@prdy11...

Ho modificato cosi ma mi sono accorto che non mi prende i valori "stampa" e 
"quantity"
 
                $("select#colori").change(function(){
                    var colori = $("select#colori 
option:selected").attr('value');
                    var quantity = $("input#quantity").attr('value');
                    var stampa = $("select#stampa 
option:selected").attr('value');
 
                    $.ajax({
                          type: "POST",
                          url: "select.php",
                          data: "ID=" + colori + "&PrittypeID=" + stampa+ 
"&Quantity=" + quantity,
                          dataType: "html",
                          success: function(msg)
                          {
                            $("#risultato").html(msg);
                          },
                          error: function()
                          {
                            alert('ID: '+colori+'\nPrinttypeID: 
'+stampa+'\nQuantita: '+quantita);
                          }
                        });
 
 
                });
 
 
tieni presente che se io modifico la riga data cosi:
data: "ID=" + colori,
vedo il valore ID
ID = 2 PrinttypeID = Quantity =
 
 
mentre se modifico cosi :
data: "ID=" + colori + "&PrinttypeID=" + stampa+ "&Quantity=" + quantity,
 
mi da
1
\n
2
\n
e tutto in bianco
 
il file select.php è cosi:
if(isset($_POST['ID']))
{
    echo "ID = ".$_POST['ID'] ;
    echo "<br>PrinttypeID = ".$_POST['PrinttypeID'] ;
    echo "<br>Quantity = ".$_POST['Quantity'] ;
    die;
}
 
 

 
 
"Jesolo Sun"  ha scritto nel messaggio 
news:4ec7b863$0$1383$4faf...@reader1.news.tin.it...
 
 
 
"Oreste"  ha scritto nel messaggio
news:8234034.126.1321707967158.JavaMail.geo-discussion-forums@prdy11...
 
Prima di inviare il $.post prova il seguente:
alert('ID: '+colori+'\nPrinttypeID: '+stampa+'\nQuantita: '+quantita);
osserva il risultato
Con $.post puoi inviari tutti i valori che vuoi, anche se consiglio l'uso di
$.ajax perché puoi meglio controllare la comunicazione fra server e client.
 
 
 
 
Errata corrige
mettendo
alert('ID: '+colori+'\nPrinttypeID: '+stampa+'\nQuantity: '+quantity);
come consigliato mi sono accorto che i dati li invia correttamente
 
per cui credo sia la pagina select.php  che deve intepretari sti valori 
inviati
 
 
$opt = new SelectList();
 
if(isset($_POST['ProductID']))
{
    echo $opt->ShowStampe();
    die;
}
 
 
if(isset($_POST['PrinttypeID']))
{
      echo $opt->ShowColori();
    die;
}
 
CREDO CHE QUA DEVO gestire sti dati che mi arrivano
ma come faccio ?? io li invio correttamente
 
if(isset($_POST['ID']) )
{
 
  echo "ID = ".$_POST['ID'] ;
  echo "PrinttypeID = ".$_POST['PrinttypeID'] ;
   echo "Quantity = ".$_POST['Quantity'] ;
    echo $opt->ShowOpzioni();
    echo $opt->ShowPack();
    echo $opt->ShowCosti($_POST['PrinttypeID'],$_POST['Quantity'] );
 
 
    die;
}
 

RISOLTO...
 
il problema stava qua
 
$opt = new SelectList();
 
if(isset($_POST['PrinttypeID']))
{
	echo $opt->ShowColori();
	die;
}
if(isset($_POST['ID']))
{
	echo $opt->ShowOpzioni();
	echo $opt->ShowPack();
	die;
}
 
 $.post("select.php", {PrinttypeID:stampa}, function(data){
                        $("select#colori").removeAttr("disabled");
                        $("select#colori").html(data);
 
                    });
 
 
$.post("select.php", {ID:colori,PrinttypeID:stampa,Quantity:quantity},
function(data){
 
					    $("select#opzioni").removeAttr("disabled");
                        $("select#opzioni").html(data);
                        $("#slickbox").html(data);
                        $('#slickbox').show('slow');
                    });
 
Richiamavo due volte $_POST['PrinttypeID']