Visualizzazione dei risultati da 1 a 3 su 3

Discussione: form da JS a PHP

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448

    [Risolto] form da JS a PHP

    Sto modificando il metodo di invio di un componente per Joomla che gestisce uno shop online.
    Ho una pagina con questo codice Javascript che crea un form con i dati dell'acquisto e lo invia
    codice:
    this.paypalCheckout=function(){
    	var form=document.createElement("form");
    	var counter=1;
    	form.style.display="none";
    	form.method="POST";
    
    	form.action="http://localhost/joomla_test/index.php?option=com_content&view=article&id=3&Itemid=13";
    		
    	form.acceptCharset="utf-8";
    		
    	form.appendChild(this.createHiddenElement("cmd","_cart"));
    	form.appendChild(this.createHiddenElement("upload","1"));
    	form.appendChild(this.createHiddenElement("business",this.email));
    	form.appendChild(this.createHiddenElement("currency_code",this.currency));
    	form.appendChild(this.createHiddenElement("return",this.continue_url));
    		
    	if(this.taxRate){
    		form.appendChild(this.createHiddenElement("tax_cart",this.currencyStringForPaypalCheckout(this.taxCost)))
    	}
    		
    	for(var current in this.items){
    		var item=this.items[current];
    		form.appendChild(this.createHiddenElement("item_name_"+counter,item.name));
    		form.appendChild(this.createHiddenElement("item_number_"+counter,counter));
    		form.appendChild(this.createHiddenElement("quantity_"+counter,item.quantity));
    		form.appendChild(this.createHiddenElement("amount_"+counter,this.currencyStringForPaypalCheckout(item.price)));
    			
    		var descriptionString="";
    		var ocounter=0;
    		for(var field in item)
    		{
    			if(typeof(item[field])!="function"&&this.submitOptions.inArray(field))
    			{
    				form.appendChild(this.createHiddenElement("on"+ocounter+"_"+counter,field));
    				form.appendChild(this.createHiddenElement("os"+ocounter+"_"+counter,item[field]));
    				ocounter++
    			}
    		}
    		descriptionString=descriptionString.substring(1);
    		counter++
    	}
    	if(this.shippingCost!=0){
    		form.appendChild(this.createHiddenElement("item_name_"+counter,"Shipping"));
    		form.appendChild(this.createHiddenElement("item_number_"+counter,counter));
    		form.appendChild(this.createHiddenElement("quantity_"+counter,"1"));
    		form.appendChild(this.createHiddenElement("amount_"+counter,this.currencyStringForPaypalCheckout(this.shippingCost)))
    	}
    	document.body.appendChild(form);
    	form.submit();
    	document.body.removeChild(form)
    };
    l'action l'ho modificato ed è una pagina PHP che sto creando.

    Considerando che farò in modo che un cliente potrà acquistare solo un oggetto per volta, sapreste dirmi come potrei fare per reperire da questo form così creato il nome dell'oggetto nel carrello?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Forse ho trovato, dato che so in anticipo che ci sarà solo un oggetto posso prenderne il nome dal campo item_name_1 creato qui
    form.appendChild(this.createHiddenElement("item_na me_"+counter,item.name))
    visto che counter è inizializzato a 1.

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Funziona.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.