Variabili in textbox

Emix

Utente Attivo
15 Feb 2010
596
0
16
Ciao a tutti,
ho un problema che non riesco a capire come gestire...
Io ho 3 textbox in tutto.. Sul primo inserisco un numero, e sul secondo anche... Nel terzo invece devo effettuare una formula matematica prendendo i valori degli altri due textbox.. Esempio:

Acquisto - textbox 1
Ricarico - textbox 2
Vendita - textbox 3
Nel terzo la formula sarebbe ((Acquisto * 100)/ Ricarico) ed automaticamente si dovrebbe compilare...
Volevo sapere se è possibile farlo in tempo reale... Nel senso se cambio uno cambia l'altro e via via discorrendo...
è fattibbile?
Grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
dovrai usare javascript
ti posto un esempio
HTML:
<input type="text" onkeyup="vendita()" name="acq" value="0" id="acq"/>
<input type="text" onkeyup="vendita()" name="ric" value="0" id="ric"/>
<input type="text" readonly value="0" name="ven" id="ven"/>
<script type="text/javascript">
    function vendita() {
        var acq = document.getElementById('acq').value;
        var ric = document.getElementById('ric').value;
        var ven = parseInt((acq * 100) / ric);
        document.getElementById('ven').value = ven;
    }
</script>
è solo un inizio, bisogna aggiungere un controllo sui caratteri digitati, prevedere se ti servono i decimali e ottimizzarlo
al massimo ti spostiamo in javascript
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
innanzitutto grazie per la risposta... Purtroppo di java so quasi zero... e per me è arabo.. I controlli posso farli in php? nel senso stringa vuota,lettere, etc? è molto difficile come operazione da fare?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
i controlli, se poi i dati del form es. devi inseririli in un db o inviarli per email, "devono" essere fatti anche in php in quanto i controlli in js possono essere aggirati.

p.s.
il controllo principale che devi fare in questo caso è che il campo ric sia diverso da 0 altrimenti la divisione ti manda in pallino lo script
io metterei
HTML:
<input type="text" onkeyup="vendita()" name="ric" value="1" id="ric"/>
 

darkjoker

Nuovo Utente
6 Nov 2012
19
0
0
darkjoker.host-ed.me
Come ti è stato detto, per compilare automaticamente il form, devi usare il javascript (che ti consiglio di imparare, data la grande diffusione): quello che chiedi te, ossia la compilazione automatica utilizzando il PHP, non è fattibile (o meglio, è fattibile, ma rendendo il tutto molto lento e comunque coinvolgendo un poco di javascript), in quanto c'è una differenza fondamentale fra i due linguaggi citati: il PHP gira sul server (ciò vuol dire che, quando richiedi una pagina php, il server esegue lo script e ti invia l'output) mentre il javascript gira sul client (ossia il server ti invia direttamente lo script, sarà quindi compito del browser di eseguire tale script).
Una volta compilate le prime due textbox, con poche righe di javascript (come mostratoti) puoi riempire immediatamente anche la terza (questo perchè è il browser a fare il tutto).
Se vuoi un consiglio, studia un po di javascript e vedrai quante cose belle si possono fare con questo :)
Ovviamente, poi, esegui i controlli sui valori immessi anche in PHP, perchè, come ti è già stato detto, quelli fatti in javascript sono facilmente bypassabili... Cosa che, purtroppo, non è chiara a molti programmatori (e non solo in casi banali come l'inserire nel database un numero sbagliato, ma anche in casi in cui vengono lasciate falle enormi per queste stupidaggini).
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
e se io facessi un tasto con scritto calcola(submit) che se non lo clicchi non puoi salvare? tutto in php chiaramente... che dite?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
un es di controllo, ammesso che i campi di input siano in un form che punta alla pag calcola.php
calcola.php
PHP:
<?php
//...
$acq=$_POST['acq'];
$ric=$_POST['ric'];
if($acq =="" || $acq <= 0){
	echo "il prezzo di acquiso non puo essere vuoto o minore uguale a zero";
	//e qui il ritorno automatico al form
	exit();
}
if($ric =="" || $ric <= 0){
	echo "il ricarico non puo essere vuoto o minore uguale a zero";
	//e qui il ritorno automatico al form
	exit();
}
$calcola=$acq*100/$ric;
echo "prezzo finale: $calcola";
//....
?>
non ti serve un pulsante in più, ma il semplice submit
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
si mi serve in piu perche vorrei che l'utente si calcolasse il prezzo e una volta effettuato il calcolo appaia sotto il SALVA. Una volta premuto salva inserire i campi delle textbox nel DB. è Fattibile??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova questo (è come sopra) e vedrai che se uno non fa tutto giusto non può procedere
PHP:
<?php
if(isset($_POST['calcola'])){
	$acq=$_POST['acq'];
	$ric=$_POST['ric'];
	$errore="";//questi controlli se uno riesce a bypassare il js
	if($acq =="" || $acq <= 0 || is_nan($acq)){
    	$errore.= "il prezzo di acquiso non puo essere vuoto o minore uguale a zero";
	}
	if($ric =="" || $ric <= 0 || is_nan($ric)){
    	$errore.= "il ricarico non puo essere vuoto o minore uguale a zero";
	}
	if($errore==""){
		$calcola=$acq*100/$ric;
		echo "prezzo finale: $calcola<br />";//qui al posto dell'echo metti l'insert per salvare
	}else{
		echo $errore;
		echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
	}
}
?> 
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<input type="text" onkeyup="vendita()" name="acq" value="1" id="acq"/><br />
<input type="text" onkeyup="vendita()" name="ric" value="1" id="ric"/><br />
<input type="text" readonly value="0" name="ven" id="ven"/><br />
<input name="calcola" type="submit" id="calcola" value="calcola">
</form>
<script type="text/javascript">
    function vendita() {
        var acq = document.getElementById('acq').value;
        var ric = document.getElementById('ric').value;
		if(acq <= 0  ||  ric <= 0 ){
			alert('numeri non validi');
		}else{
        	var ven = parseInt((acq * 100) / ric);
        	document.getElementById('ven').value = ven;
		}
    }
</script>
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
ciau,
ho testato lo script che mi hai passato.. è perfetto e fa quello che mi occorre solo che mancano due accorgimenti... Il primo se io cancello tutto parte una serie infinita di alert... e per stoppare devo riuscire ad inserire un numero qualsiasi...L'latro è che ho bisogno anche di almeno 2 o 3 decimali dopo la virgola nei prezzi... Come risolvo? Inoltre come faccio a mandare tutti i dati ricavati in un Database?
Grazie ancora per l'aiuto e la pazienza....
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
cosa intendi con
Il primo se io cancello tutto parte una serie infinita di alert...
?
poi cosa vuoi salvare? secondo me ti manca la parte relativa all'utente. non credo che abbia senso salvare dei numeri se poi non sai a chi attribuirli

edit
per sicurezza ho riprovato lo script e gli alert parto solo (giustamente) se non insrisci un numero melle due caselle
 
Ultima modifica:

Emix

Utente Attivo
15 Feb 2010
596
0
16
no se io cancello facendo backspace non mi da il tempo di scrivere... partono subito gli alert... Inoltre questa parte, è la aprte finale di uno script di inserimento di un articolo in magazzino..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
si, se cancelli parte l'alert, ma se premi su ok ti fa inserire il numero, comunque forse per rfacilitare le cose bisogna modificsare il js, guardo meglio e ti so dire
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
infatti.. inoltre volevo sapere è possibile fare in modo che ci siano i numeri dopo la virgola approssimati per eccesso? parlo del campo vendita chiaramente :)
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
ok.. dò uno sguardo.. ma ora vorrei sistemare la cosa sopra che è piu impo... Inoltre, visto che ci stò... ma si può prendere un database MDF e trasformarlo in SQL?
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Son riuscito a trasformare il database da mdb a mysql... Ora devo capire come fare in modo di spostare determinati record su un altra tabella... (prima la devo copiare tutta)
Tornando al discorso iniziale... Sei riuscito a far in modo che non avvengano gli alert se cancelli l'intera riga? mi ci sto scervellando...
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Redirect 301 genera url statico con variabili Web Server 0
G file CSS contenente variabili HTML e CSS 1
M Passaggio variabili array php su un tasto jq PHP 3
K [PHP] Problema con variabili concatenate. PHP 1
MarcoGrazia Metodi static e passaggio di variabili PHP 1
N Problema passaggio variabili tra pagine PHP 4
S Utilizzo variabili di sessione tra PC e server PHP 0
T Circolo vizioso di variabili PHP 1
X Dichiarare variabili solo al caricamento della pagina PHP 3
R passaggio variabili tra modulo genitore a figlio jQuery 3
L [Javascript] input variabili di scrittura con canvas Javascript 2
maxnegri Eliminare url index.php con variabili e reindirizzare alla home del sito PHP 7
zorro [PHP] passaggio di variabili PHP 7
Domenico_Falco1 Rendere dinamico un sito web con chiamate ajax e php e variabili json PHP 12
S [PHP] Estrarre elementi array su più variabili PHP 5
M Inviare variabili da menu a tendina a pagina php con post PHP 6
M [PHP] Selezione da menu a discesa con 2 variabili PHP 0
B [Visual Basic] Passaggio variabili da un progetto all'altro (Visual Studio 2017 C#/SQL) Visual Basic 0
A php echo get con variabili PHP 4
S [Javascript] come estrarre valori array e inserirli in diverse variabili Javascript 1
N [PHP] Registrare variabili all'interno di un ciclo PHP 3
F [PHP] Cercare voci uguali nel db e unire alcune variabili PHP 0
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
F [PHP] if(isset($_POST['Invia'])) non mi riconosce le variabili PHP 3
K [PHP] variabili di tipo numerico nei Form PHP 1
B [PHP] variabili globali in chiamate ajax PHP 0
otto9due Concatenazione variabili jQuery 1
K [PHP] Passaggio Variabili Senza Refresh Di Pagina PHP 1
Emix [PHP] Check - Select e recupero variabili PHP 40
F Come funziona in javascript l'accesso alle variabili dell'array Programmazione 1
P [PHP] link con variabili e while PHP 5
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
Paparazzo2017 [HTML] Impaginazione Articolo con variabili in Wordpress WordPress 5
Mangiuz Variabili semplici PHP su Javascript Ajax 1
A [PHP] Passare variabili tra pagine diverse PHP 2
elpirata [PHP] Passaggio di dati tra variabili PHP 1
A Problema con getCurrentPosition e passaggio variabili da javascript a PHP Javascript 3
WebDr [ASP] Passaggio di variabili in un link tra apici ed & Classic ASP 5
B preventivo per convertire variabili js Offerte e Richieste di Lavoro e/o Collaborazione 1
E [PHP] creazioni nuove variabili per modulo di stampa PHP 1
S [Javascript] variabili tra pagine php/ajax Javascript 1
L Seo e variabili php SEO e Posizionamento 4
damiano.f [PHP] variabili su immagine e registrazione dati su db PHP 0
N [PHP] aiuto su variabili e colori PHP 4
fabryx [PHP]RISOLTO: Trasformare righe in colonne assegnando singole variabili PHP 10
ANDREA20 problema variabili PHP 4
P [Javascript] Aiuto per recupero variabili da script Javascript 10
trattorino [PHP] unire due variabili PHP 0
trattorino php variabili a tempo PHP 6
A [Javascript] indirizzo con variabili $_GET Javascript 1

Discussioni simili