Cita:
Iniciado por hoberwilly
function checked(valor) {
var cantidad = document.formulario.cantidad_autorizada;
var stock = document.formulario.stock_disponible;
for(i=0;i<cantidad.length;i++){
if(cantidad[i].value>stock[i].value){
alert("stock insuficiente");
return false;
}
}
return true;
}
<form onsubmit="return checked(this.cantidad_autorizada)";
A ver te explico, trata de "leer" tu código, ¿entiendes lo que está haciendo?. Fíjate, cuando envías el formulario entra en la función checked, le pasas como parámetro el array de elementos cantidad_autorizada que pasa a ser almacenada en value, hasta ahí todo bien.
Pero en la siguiente línea, en la variable cantidad se trata de obtener ese mismo array que esté en un formulario con name "formulario", evidentemente, ese formulario no existe, por lo que sale de la función y envía el formulario sin más.
¿Cuál fue tu error?. Entendiste la parte de pasar el parámetro (aunque no pasaste como parámetro el array de elementos stock cuando debes hacerlo), pero si miras en tu código, lo almacenas en value pero no trabajas con él en ninguna parte del código, tratas de trabajar con un objeto inexistente que yo solo coloqué como ejemplo, ambos, cantidad y stock deberían tener las respectivas referencias a los arrays de elementos. En este paso probablemente ya entiendas cómo corregirlo.
Saludos
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
.