Foros del Web » Programando para Internet » Javascript »

mensaje:UNDEFINED EN FUNCION

Estas en el tema de mensaje:UNDEFINED EN FUNCION en el foro de Javascript en Foros del Web. Hola... Estoy creando mi primer web dinamica con PHP, esta esta validada para que se introduzcan la cantidad de caracteres necesarios atravez de una funcion ...
  #1 (permalink)  
Antiguo 29/12/2008, 11:20
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
mensaje:UNDEFINED EN FUNCION

Hola...

Estoy creando mi primer web dinamica con PHP, esta esta validada para que se introduzcan la cantidad de caracteres necesarios atravez de una funcion con javascript, la funcion si me esta validando solo que cuando tiene los datos correctos en lugar de dejar enviar la informacion en un mensaje me aparece un undefined por cada funcion. Es decir si son 4 funciones aparece:

undefinedundefinedundefinedundefined

NO tengo idea de porque aparece esto. me podrian ayudar?

Algo del codigo:

<head>
<title>CAPTURA DE INVENTARIO </title>
<script language="javascript" type="text/javascript" >
function check_valid(form){
var error="";
error += verify_serie(form.txtserie.value);
error += verify_asig(form.txtasig.value);
error += verify_tel(form.txttel.value);
if (error != ""){
alert(error);
return false;
}
return true;
}
</script>

<script language="javascript" type="text/javascript">
// VALIDA EL NUMERO DE SERIE
function verify_serie(campo, caract_extra) {
var error="";
if (!(campo.length==12)) {
error="El numero de serie debe contener 12 caracteres.\n";
return error;
}

var ubicacion
var enter = "\n"
var caracteres = "1234567890" + String.fromCharCode(13) + enter + caract_extra
var contador = 0

for (var i=0; i < campo.length; i++) {
ubicacion = campo.substring(i, i + 1)
if (caracteres.indexOf(ubicacion) != -1) {
contador++
} else {
error= "ERROR: No se acepta el caracter '" + ubicacion + "', el no. de serie solo puede contener numeros.\n"
return error;
}
}
}

function verify_asig(campo, caract_extra) {
var error="";
if (!(campo.length<5)) {
error="Verificar asignado.\n";
return error;
}
var ubicacion
var enter = "\n"
var caracteres = " ABCDEFGHIJKLMNOPQRSTUVWXYZÑ" + String.fromCharCode(13) + enter + caract_extra

var contador = 0
for (var i=0; i < campo.length; i++) {
ubicacion = campo.substring(i, i + 1)
if (caracteres.indexOf(ubicacion) != -1) {
contador++
} else {
error= "ERROR: No se acepta el caracter '" + ubicacion + "', asignado solo puede contener letras.\n"
return error;
}
}
}


//VALIDA TELEFONO
function verify_tel(campo, caract_extra) {
var error="";
if (!(campo.length==10)) {
error="El telefono debe contener 10 caracteres.\n";
return error;
}

var ubicacion
var enter = "\n"
var caracteres = "1234567890" + String.fromCharCode(13) + enter + caract_extra
var contador = 0
for (var i=0; i < campo.length; i++) {
ubicacion = campo.substring(i, i + 1)
if (caracteres.indexOf(ubicacion) != -1) {
contador++
} else {
error= "ERROR: No se acepta el caracter '" + ubicacion + "', el telefono solo puede contener numeros.\n"
return error;
}
}
}
</script>

</head>


<body>

<form id="form1" name="form1" method="post" action="reginv.php" onsubmit="return check_valid(this)" >
<span class="style9">
<label for="txtserie">No. de serie</label>
</span>
<input name="txtserie" type="text" id="txtserie" size="20" maxlength="12" value="" onChange="conMayusculas(this)"/>&nbsp;&nbsp;&nbsp;&nbsp;
<label for="txtfeing" class="style9">Fecha de Ingreso</label>
<input name="txtfeing" type="text" id="txtfeing" size="15" maxlength="10" />&nbsp;&nbsp;&nbsp;&nbsp;
<label for="txtfesal" class="style9">Fecha de Salida</label>
<input name="txtfesal" type="text" id="txtfesal" size="15" maxlength="10" />&nbsp;&nbsp;&nbsp;&nbsp;
<label for="txtasig"><br />
<br />
<span class="style9">Asignado</span></label>
<input name="txtasig" type="text" id="txtasig" size="70" maxlength="35" value="" onChange="conMayusculas(this)" />&nbsp;&nbsp;&nbsp;&nbsp;
<label for="txttel" class="style9">Telefono</label>
<input name="txttel" type="text" id="txttel" size="15" maxlength="10" />
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="button" id="button" value=" Enviar " />
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" name="limpia" id="limpia" value=" Limpiar " />
</p>
<p>&nbsp;</p>
</form>
</body>
</html>


**********Mi otro archivo para almacenar la informacion ***************

mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die("Cannot select database");
$serie=$_POST ["txtserie"];
$asignado=$_POST ["txtasig"];
$telefono=$_POST ["txttel"];


// Hay campos en blanco
if($serie==NULL|$asignado==NULL|$telefono==NULL) {
echo "Debes llenar todos los campos.<br>";
echo '<a href="javascript:history.back(1)">REGRESAR</a>';
}
else
{
$checkserie=mysql_query("SELECT serie FROM inventario WHERE serie='$serie'");
$serie_exist=mysql_num_rows($checkserie);

if($serie_exist>0){
echo "Ese numero de serie ya esta dado de alta, favor de verificarlo <br>";
echo '<a href="javascript:history.back(1)">REGRESAR</a>';
}
else
{
$query = "INSERT INTO inventario (serie,asignado,telefono) VALUES('$serie','$asignado','$telefono')";
mysql_query($query) or die(mysql_error());
echo "El producto con serie $serie ha sido registrado de manera satisfactoria.<br>";
echo '<a href="inventario.html">REGRESAR</a>';
}
}
}
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 29/12/2008, 12:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mensaje:UNDEFINED EN FUNCION

Tema trasladado a Javascript.
  #3 (permalink)  
Antiguo 30/12/2008, 16:55
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: mensaje:UNDEFINED EN FUNCION

hola, a todas tus funciones les falta el return por si no hay error
Código javascript:
Ver original
  1. function verify_serie(campo, caract_extra) {
  2.     var error = "";
  3.     if ( !(campo.length == 12) ) {
  4.         error = "El numero de serie debe contener 12 caracteres.\n";
  5.         return error;
  6.     }
  7.     var ubicacion;
  8.     var enter = "\n";
  9.     var caracteres = "1234567890" + String.fromCharCode(13) + enter + caract_extra;
  10.     var contador = 0;
  11.     for (var i = 0; i < campo.length; i++) {
  12.         ubicacion = campo.substring(i, i + 1);
  13.         if (caracteres.indexOf(ubicacion) != -1) {
  14.             contador++;
  15.         } else {
  16.             error = "ERROR: No se acepta el caracter '" + ubicacion + "', el no. de serie solo puede contener numeros.\n";
  17.             return error;
  18.         }
  19.     }
  20.     // falta el return
  21.     return error;
  22. }

porque si no retornas nada entonces va a debolver undefined que es lo que te aparece.

Bueno, además tienes que organizar bien tu código para que se le entienda mejor, aquí una herramienta muy buena, que ademas de organizar Javascript ordena HTML::
http://elfz.laacz.lv/beautify/

saludoss
:)
__________________
Aerolíneas Alicia :D
  #4 (permalink)  
Antiguo 02/01/2009, 12:36
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: mensaje:UNDEFINED EN FUNCION

OK MIL gracias o revise y tenias razon ya puede guardar, tambien cheque el link que me mandaste, esta interesante.
__________________
:cool: VELMA:si:
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 03:53.