Foros del Web » Programando para Internet » Javascript »

Problemas con ciclo - <input> para entrar datos

Estas en el tema de Problemas con ciclo - <input> para entrar datos en el foro de Javascript en Foros del Web. Señores Foristas: atento saludo y de antemano agradezco su gentileza por la colaboración que me puedan brindar. Estoy haciendo una aplicación para calcular el valor ...
  #1 (permalink)  
Antiguo 03/03/2010, 11:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Problemas con ciclo - <input> para entrar datos

Señores Foristas: atento saludo y de antemano agradezco su gentileza por la colaboración que me puedan brindar.

Estoy haciendo una aplicación para calcular el valor total de comisiones. El caso es el siguiente:

El script que envio permite incluir un número determinado de periodos (máximo 10) y deja que se alimente con valores. No obstante, no logro identificar la orden que muestre el número de cada periodo y poder así multiplicar el valor de la venta por el valor de la comisión y posteriormente hallar el valor total de la comisión a cancelar. La verdad es que este script lo encontré en la red despues de haber tratado de elaborarlo con mis pobres conocimientos en esta materia. Aquí está el script.

Código HTML:
<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Emails</title>
</head>

<body>

<form name="sendmail" method="get" action>
  <p>Ingrese los montos de ventas por cada periodo a calcular
  <select name="numPer" onChange="howMany(this.form)">
  <option value="1" selected>1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
  </select> </p>
  <p></p>
  <table>
    <tr>
      <td id="mycalculotextbox"><i>Ventas Periodo: </i>
      <input type="text" name="numero" size="20"> <br>
      </td>
    </tr>
    <tr>
      <td><i>PORCENTAJE DE COMISION: </i></td>
      <td><input type="text" name="porcentaje" size="5"></td>
    </tr>
    <tr>
      <td><i>TOTAL COMISION: </i></td>
      <td><input type="text" name="comision" size="20"> </td>
    </tr>
  </table>
</form>
<script Language="JAVASCRIPT">  

function howMany(form){  
var numPer = parseInt(form.numPer.value);  
var valor_periodo = ''; 
var container = document.getElementById('mycalculotextbox'); 
 
if (numPer > 0) {  
for(i=1; i<=numPer; i++) {  
valor_periodo += '<I> Ventas Periodo </I><input "text" name="numerosos' + i +'"><br>';  
}  
} else {  
valor_periodo += '<I> Ventas Periodo </I> <input type="text" name="numero"><br>';  
}  
 
container.innerHTML = valor_periodo; 
 
}  
  
</script>

</body>

</html> 

Por error envíe este tema a JAVA. Ofrezco disculpas por la incomodidad.

Gracias
  #2 (permalink)  
Antiguo 03/03/2010, 12:17
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Problemas con ciclo - <input> para entrar datos

creo que esto es lo que necesitas
Código html:
Ver original
  1. <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
  2. <meta name="ProgId" content="FrontPage.Editor.Document">
  3. <title>Emails</title>
  4. </head>
  5. <form name="sendmail" method="get" action>
  6.   <p>Ingrese los montos de ventas por cada periodo a calcular
  7.   <select name="numPer" onChange="howMany(this.value)">
  8.   <option value="1" selected>1</option>
  9.   <option value="2">2</option>
  10.   <option value="3">3</option>
  11.   <option value="4">4</option>
  12.   <option value="5">5</option>
  13.   <option value="6">6</option>
  14.   <option value="7">7</option>
  15.   <option value="8">8</option>
  16.   <option value="9">9</option>
  17.   <option value="10">10</option>
  18.   </select> </p>
  19.   <p></p>
  20.   <table>
  21.     <tr>
  22.       <td><div id="mycalculotextbox"><i>Ventas Periodo: </i>
  23.       <input type="text" name="numero" size="20"> <br></div>
  24.       </td>
  25.     </tr>
  26.     <tr>
  27.       <td><i>PORCENTAJE DE COMISION: </i></td>
  28.       <td><input type="text" name="porcentaje" size="5"></td>
  29.     </tr>
  30.     <tr>
  31.       <td><i>TOTAL COMISION: </i></td>
  32.       <td><input type="text" name="comision" size="20"> </td>
  33.     </tr>
  34.   </table>
  35. </form>
  36. </body>
  37. </html>
y entre el <head> y </head> pones la funcion de javascript
Código Javascript:
Ver original
  1. <script Language="JAVASCRIPT">  
  2.     function howMany(value){  
  3.         var numPer = parseInt(value);  
  4.         var valor_periodo = '';
  5.         if (numPer > 0) {  
  6.             for(i=1; i<=numPer; i++) {  
  7.                 valor_periodo += '<I> Ventas Periodo </I><input "text" name="numerosos' + i +'"><br>';  
  8.             }  
  9.         } else {  
  10.             valor_periodo += '<I> Ventas Periodo </I> <input type="text" name="numero"><br>';  
  11.         }  
  12.         document.getElementById('mycalculotextbox').innerHTML = valor_periodo;
  13.     }  
  14. </script>
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 03/03/2010, 14:56
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problemas con ciclo - <input> para entrar datos

Realicé los cambios sugeridos y solo se puede hacer la multiplicación de tan solo 1 periodo. Cuando se trata de dos o mas periodos, se desconoce las variables del periodo dos en adelante. No se qué variables se debe crear o utilizar ni que orden se debe dar cuando se desea mostrar el periodo dos y tres, por ejemplo.

Gracias por sus aportes.

Saludos.
  #4 (permalink)  
Antiguo 03/03/2010, 15:49
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Fallas en proceso de cálculo en ciclo

Señores Foristas: Le he dado vueltas y vueltas al asunto y creo que con mis conocimientos no lograré mi objetivo, razón por la cual acudo a ustedes con el fi de que me ayuden a implementar de manera óptima el siguinte script, el cual no tiene otra función que la de liquidar un mismo porcentaje de comisiones a diferentes periodos de venta. El scrip solo logra el cálculo de un solo periodo. Cuando se pide entre 2 y 10 periodos de venta, se muestran los campos y se permite incluir el valor de la venta. No obstante, no enseña el número del periodo y no permite calcularle a cada periodo el valor de la comision.

Agradezco inmensamente sus aportes

Código HTML:
<script Language="JavaScript">      

//RUTINA PARA ABRIR MAS DE UN CAMPO CUANDO EL NUMERO DE PERIODOS ES >= 1

function howMany(value)
{          
var numPer = parseInt(value);          
var container = document.getElementById('mycalculotextbox'); 
	if (numPer > 0) {              
		for(i=1; i<=numPer; i++) {                  
		valor_periodo += '<I> Ventas Periodo </I><input "text" name="venta' + i +'"><br>';
		}          
	} else {              
		valor_periodo += '<I> Ventas Periodo </I> <input type="text" name="venta"><br>';          
		}          
container.innerHTML = valor_periodo; 
}  
</script>


<script language="javascript"> 

//SE CALCULAN VALORES

var venta, porcentaje, numPer, comision, tablebuilt=false;

function calculate(){
var d=document.f;
venta=d.venta.value;
porcentaje=d.porcentaje.value;
comision=d.comision.value;

tmpporcen=porcentaje;
tmpventa=venta;
comision=tmpporcen*tmpventa;
}

</script> 

Etiquetas: ciclos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.