Código:
Esta parte especifica del codigo, muestra cuando tengo ya la lista de productos y quiero hacer una ultima verificacion antes de enviarla. Vuelvo a revisar si el nombre existe (por si acaso el producto fue eliminado, en el intervalo de tiempo en que el objeto fue agregado a la lista y el momento en que se hace la venta) y si la cantidad del producto es valida (un natural). Si puedo arreglar esta ultima validacion ya lo de colocar el nombre asociado al codigo de barras o comprobar si existe el producto al momento de enviarlo a la lista, tendria la misma solucion....
function venta_existe_producto (producto, tipo)
{
var post; //Datos que seran pasados al archivo
post="nombre="+producto+"&tipo="+tipo;
var url="../inventario/verificarExistencia.php"; //Archivo a donde seran enviados los datos
var xmlhttp=crearAjax(); //Se crea una instancia de la pagina
if (xmlhttp==null) {
alert("Su navegador no soporta AJAX");
return;
}
xmlhttp.onreadystatechange =
function listo()
{
if (xmlhttp.readyState==4) { //La solicitud finalizo
if (xmlhttp.status==200) { //Finalizo correctamente
nombre=xmlhttp.responseText;
}
else { //Error
nombre=-1;
}
}
}
xmlhttp.open ('POST', url, true); //Se abre la url solicitada
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlhttp.send (post); //Se envian los datos necesarios en caso de abrirse la url con el metodo POST
}
function venta_cantidad_valida (cantidad)
{
if (cantidad.match(/^\d+$/)==null) {
return false;
}
return true;
}
function venta_comprobar()
{
venta_actualizar();
var i;
var error=false;
var resultado;
for (i=0; i<venta_num_entradas; i++) {
venta_existe_producto(venta_nombre_producto[i], 1);
if (nombre=="") {
resultado=0;
}
else if (nombre==-1) {
resultado=-1;
}
else {
resultado=1;
}
if (resultado==0) {
error=true;
alert("Producto "+venta_nombre_producto[i]+" no existe");
}
else if (!venta_cantidad_valida(document.getElementById("cant"+i).value)) {
error=true;
alert("Cantidad de "+venta_nombre_producto[i]+": "+document.getElementById("cant"+i).value+" no es valida");
}
}
return error;
}
...
Encantado de recibir ayuda en el tema

