Foros del Web » Programando para Internet » Javascript »

Validar campo u objeto nulo

Estas en el tema de Validar campo u objeto nulo en el foro de Javascript en Foros del Web. Hola amigos, tengo este codigo: if (FRMCLIENTE.Cantidad.value==''){ alert("Ingrese la Cantidad a Compra"); return false;} esto fuciona bien, el problema es cuando intento validar este otro: ...
  #1 (permalink)  
Antiguo 20/09/2006, 11:35
 
Fecha de Ingreso: junio-2006
Mensajes: 104
Antigüedad: 17 años, 10 meses
Puntos: 1
Validar campo u objeto nulo

Hola amigos, tengo este codigo:
if (FRMCLIENTE.Cantidad.value==''){
alert("Ingrese la Cantidad a Compra");
return false;}


esto fuciona bien, el problema es cuando intento validar este otro:
if (FRMCLIENTE.Precio.value==''){
alert("Seleccione un Producto");
return false;}


Me manda un erro: 'FRMCLIENTE.Precio.value' es nulo o no es un objeto. a este text le paso el value de una subcategoria de combos, esta es la linea de asignacion:

FRMCLIENTE.precio.value= document.FRMCLIENTE.subcatagory.value;

Alguien me prodia ayudar con esta validacion.
  #2 (permalink)  
Antiguo 20/09/2006, 11:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

A simple vista lo tienes bien, pero si por alguna razón no se ha creado el atributo value (aunque esté el objeto... o no se haya creado el objeto...) puedes compararlo con "undefibed" sin las comillas...

Quizás en la creación del campo no hayas puesto el atributo value, puedes ponerlo como cadena vacía:
value=""

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 20/09/2006, 12:00
 
Fecha de Ingreso: junio-2006
Mensajes: 104
Antigüedad: 17 años, 10 meses
Puntos: 1
Hola de nuevo, aqui mando mis dos archivos en uso, a lo mejor algop estoy haciendo mal y me da ese erro:

Venta.asp
Código:
<html> <head>
<link rel="STYLESHEET" type="text/css" href="css/letras.css">
<meta http-equiv="Content-Language" content="es">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<title>Ventas</title> 
<!--#include file="Funciones.asp"--> 
</head>
<body >
<% dim cant
   dim pre
   dim mul

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./Ventas2.mdb"))%>

<h1 align="center">Venta de productos</h1>
<form name="FRMCLIENTE" method=POST target=_self action="">
<p align="center">Seleccione el producto a comprar:

<select size="1" id="Productos" name="Productos" onChange = "javascript:sublist(this.form, Productos.value);">
<option selected>Selecciona un Producto</option>
<%productos_Sql = "Select distinct id, productos from productos ORDER BY Productos"
rs.Open productos_Sql, Conn
do while not rs.eof%>
<option value="<%=rs("id")%>"><%=rs("productos")%></option>
<%rs.movenext
loop%>
</select>

<table border="1" align="center" width="42%">
  <tr>
    <td width="14%" align="left"><b>Productos</b></td>
    <td width="86%" align="left">
<SELECT id="subcatagory" name="subcatagory" size="1" onChange = "javascript:sublist(precio.value = this.value);">
	<Option selected value="none"></option>
</SELECT>
    </td>
  </tr>
  <tr>
    <td width="14%" align="left"><b>Cantidad</b></td>
    <td width="86%" align="left">
    	<input type="text" name="Cantidad" size="10" onkeypress="return numero(event,this.value)"></td>
  </tr>
  <tr>
    <td width="14%" align="left">
      <b>Precio</b>
    </td>
    <td width="86%" align="left">
	    <input type="text" name="precio" size="10" disabled value="">
    </td>
  </tr>
  <tr>
    <td width="14%" align="left">
    <input type="button" value="Ver Sub-Total" name="B1" ONCLICK="return multiplica()"></td>
    <td width="86%" align="left">
	    <input type="text" name="T1" size="10"  disabled>
    </td>
  </tr>
  <tr>
    <td width="14%" align="left"><b>Comprar</b></td>
    <td width="86%" align="left">
    	<input type="submit" value="Comprar" name="B2" ONCLICK="return compra()">
    </td>
  </tr>
</table>
<%set rs=nothing
conn.close
set conn=nothing%>
</Form></body>
Funciones.asp
Código:
<script language = "JavaScript">
<% 'CONSULTA PARA OBTENER LOS DATOS
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./Ventas2.mdb"))

productos_Sql = "Select * from precios ORDER BY tipo_producto"
set rs = CreateObject("ADODB.Recordset")
rs.Open productos_Sql, Conn
x=0
%>

// FUNCION DE COMBO BOX COMBINADO
function sublist(inform, selecteditem)
{ inform.subcatagory.length = 0

<%
count= 0
y=0
do while not rs.eof
%>
x = <%= trim(y) %>;

subcat = new Array();
subcatagorys = "<%=(rs("tipo_producto")) %>";
subcatagoryof = "<%=(rs("id"))%>";
subcatagoryid = "<%=(rs("precios"))%>";
subcat[x,0] = subcatagorys;
subcat[x,1] = subcatagoryof;
subcat[x,2] = subcatagoryid;

FRMCLIENTE.precio.value= document.FRMCLIENTE.subcatagory.value;

if (subcat[x,1] == selecteditem) {
	var option<%= trim(count) %> = new Option(subcat[x,0], subcat[x,2]);
	inform.subcatagory.options[inform.subcatagory.length]=option<%= trim(count)%>;}
		
<%
count = count + 1
y = y + 1
rs.movenext
loop
rs.close
%>
}

function numero(e,txt){
	tecla = (document.all) ? e.keyCode : e.which;
	if (tecla==8) return true;
	if (tecla==46 && txt.indexOf('.') != -1) return false;
	patron = /[\d\.]/;
	te = String.fromCharCode(tecla);
	return patron.test(te);}
	
function multiplica(){
 if (FRMCLIENTE.Cantidad.value==''){
	alert("Ingrese la Cantidad a Compra");
	return false;}

 if (FRMCLIENTE.Precio.value==''){
	alert("Ingrese la Cantidad a Compra");
	return false;}

	cant = document.FRMCLIENTE.Cantidad.value;
	pre = document.FRMCLIENTE.precio.value;
	mul = cant * pre;
	document.FRMCLIENTE.T1.value = (Math.round(mul*100))/100;
	return false;
	}
</script>
Como pueden ver en el objeto precio tengo establecido la propiedad value, pero aun asi no hace nada, sera que tiene algo q ver con el valor que le paso del combo, subcagoria?

Última edición por jbco; 21/09/2006 a las 08:57
  #4 (permalink)  
Antiguo 21/09/2006, 09:03
 
Fecha de Ingreso: junio-2006
Mensajes: 104
Antigüedad: 17 años, 10 meses
Puntos: 1
Solucion

pues despues del problema anterior decidi estar jugando con los values de los demas objetos, y antes de intentar con todos y almacenar valores en viables decidi hacer ese simple if con mi combo padre, y bualá, eureca, funciono a la perfeccion lo que necesitaba.

Código:
 if (FRMCLIENTE.Productos.value==''){
	alert("Seleccione un producto");
	return false;} 
gracias por su ayuda, nos vemos mas alrato, estaremos en contacto.

El "Por que" no me aceptaba la otra validacion del campo precio no me la se, por si alguien lo sabe, le estare agradecido que me saque de esta enorme duda ?
  #5 (permalink)  
Antiguo 21/09/2006, 09:18
Avatar de diegopedro  
Fecha de Ingreso: agosto-2006
Ubicación: Santiago
Mensajes: 120
Antigüedad: 17 años, 9 meses
Puntos: 0
Siempre quita los espacios para determinar si efectivamente esta en blanco

<SCRIPT LANGUAGE="JavaScript">
function Trim( str ) {
var resultStr = "";

resultStr = TrimLeft(str);
resultStr = TrimRight(resultStr);

return resultStr;
}
</SCRIPT>
  #6 (permalink)  
Antiguo 21/09/2006, 10:39
 
Fecha de Ingreso: junio-2006
Mensajes: 104
Antigüedad: 17 años, 10 meses
Puntos: 1
Muchas gracias lo tendre encuenta y lo probare mas tarde.
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 22:24.