form dinamico

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Buonasera a tutti...
Ho creato un piccolo form in php che potete vedere al seguente link
http://www.matteomosconi.com/timber/

Il form è impostato su 2 colonne... la colonna sinistra contiene il form e la colonna destra contiene il riepilogo dei dati con un piccolo calcolo della variabile totale da passare a paypal.

Ora però vorrei apportare qualche modifica, in particolare vorrei eliminare il tasto "conferma" e far si che il riepilogo si compili dinamicamente mentre l'utente compila il form!!!

Come posso procedere? Dalla documentazione che ho trovato in rete credo che la soluzione sia in jquery e ajax...

Grazie,
M
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ciao guarda un po se ti può servire questo

ggggg.jpg


http://max400.netne.net/ggggg.html

avevo fatto qualkosa di simile in passato ma era col tasto conferma
http://forum.mrwebmaster.it/javascript/27813-script-javascript-calcolo-prezzo-totale.html

adesso l'ho modificato in base alla tua esigenza
 

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Cavolo sembra perfetto! Posso vedere il codice che lo genera cosi provo ad implementarlo nel mio form?
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ecco il codice!

Nella fretta me l'ero scordato
Codice:
<script>
a=10;
b=20;
c=30;
d=40;
totale=0;
function aa(){
totale=totale+a;
bbb=document.getElementById('casella');
bbb.value=totale;
}
function bb(){
totale=totale+b;
bbb=document.getElementById('casella');
bbb.value=totale;
}
function cc(){
totale=totale+c;
bbb=document.getElementById('casella');
bbb.value=totale;
}
function dd(){
totale=totale+d;
bbb=document.getElementById('casella');
bbb.value=totale;
}
function cancella(){
window.location.href='ggggg.html';
}
</script>


totale: <input type="text" id="casella"><br> 
<form>
<input type="checkbox" name="scelta1" onClick="aa()">a=10;<br />
 <input type="checkbox" name="scelta2" onClick=bb()>b=20;<br />
 <input type="checkbox" name="scelta3" onClick=cc()>c=30;<br />
 <input type="checkbox" name="scelta4" onClick=dd()>d=40;<br />
 <input type="submit" value="reset" onClick="cancella">
</form>

Si potrebbe sistemare meglio...
ma per il momento ti puoi arrangiare con questo

Buon lavoro!

Er Moderator
by Max_400
 

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Cavolo... è più complicato del previsto!
io devo quindi converte questo modello php in javascript:

form...
PHP:
   <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
   <fieldset>
...
	<div>
	    <label for="nazione">Nazionalità <b>*</b></label>
		<select size="1" name="nazione" >
			<option selected value="1, Italia">Italia</option>
			<option value="0, Estero">Estero</option>
		</select> 
        </div>
...
        <div>
	     <label for="professione">Professione <b>*</b></label>					
		<select size="1" name="professione" >
			<option selected value="0.04, Azienda, 0">Azienda</option>
			<option value="0, Ingegnere, 0">Ingegnere</option>
			<option value="0, Architetto, 0">Architetto</option>
			<option value="0.04, Studente, 1">Studente</option>
			<option value="0.04, Privato, 1">Privato</option>
		</select>
        </div>
	<legend2>Quantità</legend2>
        <div>
	     <label for="licenze">N° Licenze <b>*</b></label>						
		<select size="1" name="licenze">
			<option selected>1</option>
			<option> 2</option>
			<option> 3</option>
			<option> 4</option>
			<option> 5</option>
			<option> 6</option>
			<option> 7</option>
			<option> 8</option>
 			<option> 9</option>
 			<option> 10</option>
		</select>
        </div>
        <div>
	<input type="submit" id="go" value="Conferma" />
	<p>I campi contrassegnati con <b>*</b> sono obbligatori</p>
        </div>
   </fieldset>
   </form>
...

modello di calcolo conto.php

PHP:
<?php

list($value, $professione, $riten) = explode(', ', $_POST['professione']);		// formato (%cnpaia; professione; 0
list($tax, $nazione) = explode(', ', $_POST['nazione']);
$n = $_POST['licenze'];

$a = 0.21;					// Imposta valore dell'IVA
$b = 0.20;					// Imposta valore della ritenuta
$prezzo1 = 350;					// Imposta prezzo base licenza
$prezzo2 = 250;					// Imposta prezzo scontato
$nsconto = 5;					// imposta numero min licenze per prezzo scontato

    if ($n >= $nsconto)
	  	{$prezzo = $prezzo2;
    }else{ 
		$prezzo = $prezzo1;}

$x		= $prezzo * $n;			// calcolo del prezzo

    if ($tax == 0)
	  	{$valuex = 0.04;
    }else{ 
		$valuex = $value;}

$cnpaia 	= $x * $valuex;			// calcolo del contributo CNPAIA

    if ($tax == 0)
	  	{$ivax = 0; $ritenutax = 0;
    }elseif ($riten == 1)
		{$ivax = $a; $ritenutax = 0; 
    }else 	{$ivax = $a; $ritenutax = $b;
		}

$iva 		= ($x+ $cnpaia) * $ivax;

$ritenuta 	= $x * $ritenutax;

$totale 	= $x + $cnpaia + $iva - $ritenuta ;

?>

è fattibile? come posso leggere in javascript le variabili di un menù select ed associare ad esse un numero che mi serve per effettuare il calcolo?
esiste l'equivalente di list($value, $professione, $riten) = explode(', ', $_POST['professione']);

Grazie,
M
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Quanti scarabocchi....

Personalmente io uso PHP semplicemente per memorizzare 4 variabili
a volte anche per fare 4 calcoli.
Il tuo script si potrebbe sintetizzare...comunque questa è la sezione javascript
e quindi ti dò un select in javascript da cui estrarre i valori e metterli in una cella

In questo esempio puoi prelevare un numero dal menu ed indirizzarlo
ad una casella input col nome di "casella"


select-numero.jpg

http://max400.netne.net/select-casella-input.html

questo è il semplice codice
Codice:
numero: <input type="text" id="casella" size=5><br> 

<select id="sss" onChange="document.getElementById('casella').value=this.value">
<option value=0>seleziona</option>
<option value=10>a</option>
<option value=20>b</option>
<option value=30>c</option>
<option value=40>d</option>
</select>
<br>

In seguito poi... sommi il numero estratto con gli altri numeri
alla fine memorizzi il tutto con php.
 

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Ottimo... E possibile anche impostare il campo value="10" in modo più complesso del tipo value="10,1,x" e successivamente esploderlo in + variabili come ho effettuato in php?

Thx
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ma certo... Egregio!

Però in javascript si usa dire "splittare" una stringa anzicchè exploderla come si usa in PHP

splitccc.jpg


Se per esempio modifichiamo il primo valore quello di a=10 in 10.568
e mettiamo un'ipotetica virgola o punto.
Possiamo creare un array di questo numero formato da 2 elementi:
il 10 (prima del punto) e il 568 (dopo il punto) vedi esempio

http://max400.netne.net/select-casella-input-arrotondamento.html

il codice:
Codice:
<script>
function arrotondamento(){
recupera=document.getElementById('casella').value;
arrotonda=recupera.split(".");
alert(arrotonda[0]);
}
</script>
numero: <input type="text" id="casella" size=5><br> 

<select id="sss" onChange="document.getElementById('casella').value=this.value">
<option value=0>seleziona</option>
<option value=10.568>a</option>
<option value=20>b</option>
<option value=30>c</option>
<option value=40>d</option>
</select>
<br>
___________________<input type=button onclick="arrotondamento()" value="arrotondamento">

Quest'esempio è molto importante per i numeri con la virgola
per prendere il primo valore
arrotonda[0] che corrisponde a 10
arrotonda[1] che corrisponde a 568

mentre in PHP si usa explode()

codice php
Codice:
<?php
$ip=$_SERVER['REMOTE_ADDR'];
$arr=explode(".",$ip);

echo $arr[0].$arr[1]." - il tuo ip";
?>

ad esempio 96.123.xx.xxx
risultato 96123

in javascript invece

alert(arrotonda[0]+arrotonda[1]);
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
eraclio666 [PHP] form dinamico PHP 10
M Aiuto realizzazione form dinamico. jQuery 1
asevenx Contare numero di righe in un form dinamico Javascript 5
M Form dinamico in modulo nella pagina HTML HTML e CSS 2
F Crear un form Contatti, per un Bed&Breakfast, dinamico, con Wordpress WordPress 3
A Form "dinamico" Javascript 2
benfy85 form dinamico in php PHP 6
F Form dinamico Javascript 5
D Form e testo dinamico in un DIV... Ajax 7
C Ajax e PHP - form dinamico Ajax 2
M Problema con form dinamico Ajax 0
M script javascript e ajax per form dinamico. Ajax 8
M form per province e comuni (dinamico) PHP 0
M Form con menù dinamico da database PHP 10
$ Form Dinamico con moltiplicazione Javascript 0
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 15
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6

Discussioni simili