Foros del Web » Programando para Internet » Javascript »

restar valor a un input desde otro

Estas en el tema de restar valor a un input desde otro en el foro de Javascript en Foros del Web. Hola, quisiera pedirles su ayuda en: tengo tres filas input="cantidad1" ... input="stock1" input="cantidad2" ... input="stock2" input="cantidad3" ... input="stock3" como hago para restar cantidad menos stock?? ...
  #1 (permalink)  
Antiguo 11/10/2012, 00:49
 
Fecha de Ingreso: febrero-2012
Mensajes: 163
Antigüedad: 12 años, 9 meses
Puntos: 0
restar valor a un input desde otro

Hola, quisiera pedirles su ayuda en:

tengo tres filas
input="cantidad1" ... input="stock1"
input="cantidad2" ... input="stock2"
input="cantidad3" ... input="stock3"

como hago para restar cantidad menos stock??


se me ocurre que a ambos input debería ponerle un onFocus="Stock()" y onBlur="NoStock" pero solo como hago para que me tome la numeracion 1, 2 o 3???

function Stock(){
interval = setInterval("calcularStock()",1);
}
function calcularStock(){
uno = document.venta.existencia.value;
dos = document.venta.cantidad.value;
document.venta.existenciamuestra.value = (uno * 1) - (dos * 1);
}
function NoStock(){
clearInterval(interval);
}
  #2 (permalink)  
Antiguo 11/10/2012, 09:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: restar valor a un input desde otro

aplique los estándares:

use var para declarar variables

use las colecciones para acceder a los elementos:

document.forms['venta'].elements['cantidad'].value

aunque lo ideal, según intuyo como lo necesita, es acceder dinámicamente a determinada fila, coloque a cada input un ID secuencial:

<input type="text" name="cantidad[1]" id="cantidad1" />
<input type="text" name="cantidad[2]" id="cantidad2" />

y acceda de ésta forma:

Código Javascript:
Ver original
  1. // donde i se supone el número:
  2. var cantidad = document.getElementById('cantidad' + i).value;

eso le permitiría acceder a todos desde un ciclo, o a una fila en particular

espero que le sirva de ayuda, si tiene dudas pregunte
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/10/2012, 10:01
 
Fecha de Ingreso: febrero-2012
Mensajes: 163
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: restar valor a un input desde otro

maycolalvarez, muchas gracias, me sirve mucho.... saludos.
  #4 (permalink)  
Antiguo 11/10/2012, 12:39
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: restar valor a un input desde otro

Permiso, voy a poner m aqui mi duda ya que se trata de lo mismo y voy a usar los mismos valores que neveuster puso...

Se trata de hacer la resta pero de input creados desde javascript

Código:
function listar(){

		var t=document.getElementById("listado");
		var l=t.rows.length;
		t.insertRow(l);

		var c1 = document.createElement("td");
		var inp1= document.createElement("input");
		inp1.setAttribute('type','text');
		inp1.setAttribute('name','cantidad');
		inp1.setAttribute('value','1');
		inp1.setAttribute('onFocus','Stock();');
		inp1.setAttribute('onBlur','NoStock();');
		c1.appendChild(inp1);
		
		var c2 = document.createElement("td");
		var inp2 = document.createElement("input");
		inp2.setAttribute('type','text');
		inp2.setAttribute('name','stock');
		inp2.setAttribute('value','10');
		inp2.setAttribute('onFocus','Stock();');
		inp2.setAttribute('onBlur','NoStock();');
		c2.appendChild(inp2);

		var c3 = document.createElement("td");
		var inp3 = document.createElement("input");
		inp3 .setAttribute('type','text');
		inp3 .setAttribute('name','total');
		c3.appendChild(inp3 );

		t.rows[l].appendChild(c1);
		t.rows[l].appendChild(c2);
	}
Código:
<script type="text/javascript">
function Stock(){
      interval = setInterval("calcularStock()",1);
}

function calcularStock(){
      uno = document.venta.stock.value;
      dos = document.venta.cantidad.value; 
      document.venta.total.value = (uno * 1) - (dos * 1);
}
function NoStock(){
      clearInterval(interval);
}
</script>

Ok, pero cuando se generan los input ¿como se hace ahora para poder realizar las restas por filas?? ya que al poner i=1; y i++; las restas no se hacen...

lo que les pido es que me orienten, estoy bastante perdido.

gracias desde ya.

Etiquetas: input, restar
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 18:44.