Visualizzazione dei risultati da 1 a 10 su 10

Discussione: function

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    function

    ciao a tutti,

    avrei bisogno di una mano a costruire una funzione,

    vi faccio un'esempio,io pago un monitor 100,00 € e lo rivendo a 200,00, viene un cliente per acquistarlo e mi chiede lo sconto, io vorrei una funzione che mi elenchi tutte le percentuali possibili di sconto sapendo che non posso scendere oltre le 100,00 (altrimenti ci rimetto)
    quindi in questo caso il massimo di percentuale sarebbe il 50% e avrei ottenuto una combobox con valori da 0 a 50

    come potrei quindi fare una funzione che legge il prezzo di acquisto legge il prezzo di vendita e mi ricava le percentuali?

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho capito.

    Sei un rivenditore e vuoi mettere i tuoi conti pubblici sul Web? Mi sembra una politica controcorrente, e soprattutto non credo ti crederebbero.

    A mio parere questi conti devi farli lato server, non in JS, dove sono disponibili a chiunque.

    Comunque qualsiasi conto si puo` fare in JS: tu posta la formula algebrica, e qualcuno te la traduce in un programma JS.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    sto spegnendo e non posso controllare. L'ho fatto solo per esercizio e senza alcuna pretesa:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    	<head>
    		<title>a1</title>
    		<meta content="JavaScript" name="vs_defaultClientScript">
    		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    		<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    		<meta content="VisualStudio.HTML" name="ProgId">
    		<meta content="Microsoft Visual Studio .NET 7.1" name="Originator">
    		<script language="javascript" id="clientEventHandlersJS">
    <!--
    
    function Button1_onclick() {
    	var pa = parseFloat(document.getElementById("pa").value);
    	var pv = parseFloat(document.getElementById("pv").value);
    	var ps = document.getElementById("sconti");
    	var sconto = parseFloat(ps.value);
    
    	var pvs = pv*(1-sconto/100);
    	document.getElementById("ps").value = pvs;
    }
    
    function pa_onchange() {
    	var pa = parseFloat(document.getElementById("pa").value);
    	var pv = parseFloat(document.getElementById("pv").value);
    	
    	var smax = getsmax(pa, pv);
    	
    	var ps = document.getElementById("sconti");
    	var pso = ps.options;
    	for (var i = pso.length - 1; i >= 0; i--) ps.remove(i);
    	
    	for(var i = 0; i <= smax; i++)
    	{
    		pso[pso.length] = new Option(i, i);
    	}
    	
    	
    }
    
    function pv_onchange() {
    	pa_onchange();
    }
    
    function getsmax(pa, pv)
    {
    	return 100*(pv - pa)/pv;
    }
    
    
    function sconti_onchange() {
    	Button1_onclick();
    }
    
    //-->
    		</script>
    	</head>
    	<body MS_POSITIONING="FlowLayout">
    		<table>
    			<tr>
    				<td>Prezzo acquisto</td>
    				<td><INPUT language="javascript" id="pa" type="text" onchange="return pa_onchange()" value="0"
    						name="pa"></td>
    			</tr>
    			<tr>
    				<td>Prezzo vendita</td>
    				<td><INPUT type="text" ID="pv" NAME="pv" language="javascript" onchange="return pv_onchange()"
    						value="0"></td>
    			</tr>
    			<tr>
    				<td>sconti</td>
    				<td><SELECT ID="sconti" NAME="sconti" language="javascript" onchange="return sconti_onchange()"></SELECT></td>
    			</tr>
    			<tr>
    				<td colspan="2"><INPUT type="button" value="Calcola prezzo vendita scontato" ID="Button1" NAME="Button1"
    						language="javascript" onclick="return Button1_onclick()"></td>
    			</tr>
    			<tr>
    				<td>Prezzo vendita scontato</td>
    				<td><INPUT type="text" ID="ps" NAME="ps"></td>
    			</tr>
    		</table>
    	</body>
    </html>
    Pietro

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie Mich_, ma il concetto non e quello di mettere i conti on-line ecc.. ecc... è un pò diverso, solo che io per semplificare la questione ho scritto come sopra.

    Cmq GRAZIE mille a pietro09 ha centrato esattamente il problema è perfetto!



  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    una piccola cosina, sto tentando di moficare lo script perchè a me non serve che agisca all'evento onchange in quanto io i dati li passo trammite un'altra pagina quindi la combo dovrebbe popolarsi all'evento onload ma non riesco a capire bene come fare

    codice:
    <?php
    include("../../controllo_sessione.php");
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Incisoria Meccanica Abruzzese s.a.s. - Sistemi di Comunicazione Visiva</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="../../../style.css" rel="stylesheet" type="text/css">
    <script language="JavaScript" src="../../../../js/ts_picker.js"></script>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function inserimentoprezzo() {
    	document.getElementById('pa').value = window.opener.document.form1.prezzoris.value;
    	document.getElementById('pv').value = window.opener.document.form1.tot.value;
    	//document.getElementById('pv').disabled="disabled";
    	//document.getElementById('ps').disabled="disabled";
    	}
    
    function Button1_onclick() {
    	var pa = parseFloat(document.getElementById("pa").value);
    	var pv = parseFloat(document.getElementById("pv").value);
    	var ps = document.getElementById("sconti");
    	var sconto = parseFloat(ps.value);
    
    	var pvs = pv*(1-sconto/100);
    	document.getElementById("ps").value = pvs;
    }
    
    function pa_onchange() {
    	var pa = parseFloat(document.getElementById("pa").value);
    	var pv = parseFloat(document.getElementById("pv").value);
    	
    	var smax = getsmax(pa, pv);
    	
    	var ps = document.getElementById("sconti");
    	var pso = ps.options;
    	for (var i = pso.length - 1; i >= 0; i--) ps.remove(i);
    	
    	for(var i = 0; i <= smax; i++)
    	{
    		pso[pso.length] = new Option(i, i);
    	}
    	
    	
    }
    
    function pv_onchange() {
    	pa_onchange();
    }
    
    function getsmax(pa, pv)
    {
    	return 100*(pv - pa)/pv;
    }
    
    
    function sconti_onchange() {
    	Button1_onclick();
    }
    
    </script>
    </head>
    
    <body onLoad="inserimentoprezzo()">
    <table>
      <tr class="style2">
        <td><div align="right">PREZZO DI VENDITA: </div></td>
        <td><INPUT type="text" ID="pv2" NAME="pv" language="javascript" onchange="return pv_onchange()"
    						value="0"></td>
      </tr>
      <tr class="style2">
        <td></td>
        <td><input language="javascript" id="pa5" type="text" onChange="return pa_onchange()" value="0"
    						name="pa"></td>
      </tr>
      <tr class="style2">
        <td><div align="right">FASCIA DI SCONTO: </div></td>
        <td><SELECT ID="select" NAME="sconti" language="javascript" onchange="return sconti_onchange()">
        </SELECT>    </td>
      </tr>
      <tr class="style2">
        <td colspan="2"><div align="right">
          <INPUT type="button" value="Calcola" ID="Button1" NAME="Button1"
    						language="javascript" onclick="return Button1_onclick()">
        </div></td>
      </tr>
      <tr class="style2">
        <td>PREZZO DI VENDITA SCONTATO: </td>
        <td><INPUT type="text" ID="ps2" NAME="ps"></td>
      </tr>
    </table>
    <div align="right"></div>
    </body>
    </html>

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master:




    alla cortese attenzione degli amministratori del sito:

    Hai inserito troppe immagini nel tuo messaggio. Torna indietro e modifica di conseguenza.
    Oggi mi vien da piangere facilmente , potreste aumentare le faccine inseribili?

    Grazie

    per Rossella_75
    Non ci credo che non risolvi con l'evento onload. Ciao
    Pietro

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    infatti sono riuscita, scusa ma sarà stata le stanchezza... ieri propio non riuscivo questa mattina ho riletto il codice e in poco tempo ho risolto.

    Grazie mille

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    solo che non riesco a gestire numeri con la virgola, come posso fare?


  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116


    Pietro

  10. #10
    Originariamente inviato da Rossella_75
    solo che non riesco a gestire numeri con la virgola, come posso fare?

    prova a sostituire le virgole con i punti
    prima dei parseFloat (o comunque prima di esaminare i valori dei campi), qualcosa del tipo

    var pa = parseFloat(document.getElementById("pa").value);
    pa=pa.replace(/,/,".");



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