Foros del Web » Programando para Internet » Javascript »

Problema con formulario y javascript

Estas en el tema de Problema con formulario y javascript en el foro de Javascript en Foros del Web. Hola tengo un problema que no he podido resolver, el cual me impide enviar el formulario, el formulario funciona bien siempre y cuando no se ...
  #1 (permalink)  
Antiguo 31/10/2006, 10:45
Avatar de eeyore  
Fecha de Ingreso: mayo-2006
Mensajes: 53
Antigüedad: 18 años
Puntos: 0
Pregunta Problema con formulario y javascript

Hola tengo un problema que no he podido resolver, el cual me impide enviar el formulario, el formulario funciona bien siempre y cuando no se realize el substring de los textarea txtPalabras y txtWords, esto es que se trate de escribir mas de 1000 caracteres en ellos, si no se realiza el substring me envia el formulario sin mayor problema . El error me lo marca en esta linea de la funcion valida:

form.submit();

La verdad no se cual podria ser el problema

Código HTML:
<SCRIPT LANGUAGE="JavaScript">
function valida(form){
	if(form.fClave.value == ""){
		alert("\n Debe asignar una Clave");
		form.fClave.focus();
		return false;
	}
	
	if(form.fSitio.value == ""){
		alert("\n Debe asignar un Nombre para el Sitio Web");
		form.fSitio.focus();
		return false;
	}
	
	if(form.txtDetalles.value == ""){
		alert("\n Debe asignar los Detalles de la Página");
		form.txtDetalles.focus();
		return false;
	}
	
	if(form.fLink.value == ""){
		alert("\n Debe asignar un Link");
		form.fLink.focus();
		return false;
	}
	
	if(form.txtPalabras.value == ""){
		alert("\n Debe asignar Palabras como referencia de la busqueda");
		form.txtPalabras.focus();
		return false;
	}
	
	if(form.fLink.value == ""){
		alert("\n Debe asignar un Link");
		form.fLink.focus();
		return false;
	}
	form.submit();
}
</SCRIPT>

<script language="JavaScript">
	function maximaLongitud(texto,maxlong){
		var tecla, in_value, out_value;

		if (texto.value.length > maxlong) {
			in_value = texto.value;
			out_value = in_value.substring(0,maxlong);
			texto.value = out_value;
			alert("\n Máximo de caracteres permitidos: "+maxlong);
			return false;
		}
		return true;
	}
</script>


<%auClave=Request.QueryString("Clave")%>
<html>

<head>
   <title>Inserta un Evento en la Base de Datos</title>
<style type="text/css"> 

TD {
	font-family : Arial, Helvetica, sans-serif;
	font-size : smaller;
}
TH {
	font-family : Arial, Helvetica, sans-serif;
	font-size : smaller;
}

TEXTAREA {
	font-family : Tahoma, Arial, Helvetica, sans-serif;
	font-size : 10pt
}

</style>
</head>

<body background="/images/banda.jpg" bgcolor="#FFFFFF">
<center>
<form name="Paginas" action="InsertaPagResponse.asp" method="GET">
	<table cellspacing="0" border>
		<tr bgcolor="#0000A0"><th width="654" align="left"><font face="MS Sans Serif" size="2" color="#FFFFFF">&nbsp;Insertar Páginas del Buscador nuevo</font></th></tr>
		<tr>
			<td align="center">
				<table width="95%">
					<tr>
						<th align="right"><font face="Tahoma" size="2">Clave:</font></th>
						<td><input type="text" name="fClave" value="<%=auClave%>" size="7" disabled></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Nombre Sitio:</font></th>
						<td><input type="text" name="fSitio" size="86" maxlength="200"></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Site Name:</font></th>
						<td><input type="text" name="fSite" size="86" maxlength="200"></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Detalles:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtDetalles" rows="4" cols="87" onKeyUp="return maximaLongitud(this,500)" onChange="return maximaLongitud(this,500)"></textarea>
						</td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Details:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtDetails" rows="4" cols="87" onKeyUp="return maximaLongitud(this,500)" onChange="return maximaLongitud(this,500)"></textarea>
						</td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Link:</font></th>
						<td><input type="text" name="fLink" size="86" maxlength="200"></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Palabras Claves:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtPalabras" rows="4" cols="87" onKeyUp="return maximaLongitud(this,1000)" onChange="return maximaLongitud(this,1000)"></textarea>
						</td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Keys Words:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtWords" rows="4" cols="87" onKeyUp="return maximaLongitud(this,1000)" onChange="return maximaLongitud(this,1000)"></textarea>
						</td>
					</tr>
				</table>
			</td>
		</tr>
		<tr>
			<td align="right"><input type="button" value="Aceptar" onClick="valida(this.form);"><input  type="button" value="Cancelar" onClick="location='port_eve.html'"></td>
		</tr>
	</table>
</form>

</center>
</body>
</html> 

La pagina a la que se manda es un insert en una base de datos. Si alguien me pudiera orientar para resolver el problema se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 31/10/2006, 10:56
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
;)

para validar formularios:
Código HTML:
...
<form name="nombre" method="metodo" onsubmit="return validar(this)">
...
lo hemos posteado mil veces en el foro, buscalo que seguro que lo encuentras, un saludo y suerte
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 31/10/2006, 12:55
Avatar de eeyore  
Fecha de Ingreso: mayo-2006
Mensajes: 53
Antigüedad: 18 años
Puntos: 0
Pues quien sabe que diablos este pasando, ya hice las modificaciones que mencionas, pero ni aun asi me lo envia, es mas ya deje de validar los campos que me causan conflictos, pero ni asi me permite enviarlo. Deben de estar en blanco los textarea para permitierme que los envie

Quedando el codigo asi:

Código HTML:
<SCRIPT LANGUAGE="JavaScript">
function valida(form){
	if(form.fClave.value == ""){
		alert("\n Debe asignar una Clave");
		form.fClave.focus();
		return false;
	}
	
	if(form.fSitio.value == ""){
		alert("\n Debe asignar un Nombre para el Sitio Web");
		form.fSitio.focus();
		return false;
	}
	
	if(form.txtDetalles.value == ""){
		alert("\n Debe asignar los Detalles de la Página");
		form.txtDetalles.focus();
		return false;
	}
	
	var deS=form.txtDetalles;
	var contS=deS.value.length;
	if(contS>500){	
		deS.value=deS.value.substr(0,500);
		alert("\n Máximo 500 carácteres permitidos en Detalles");
		form.txtDetalles.focus();
		return false;
	}
	
	if(form.fLink.value == ""){
		alert("\n Debe asignar un Link");
		form.fLink.focus();
		return false;
	}
	
	if(form.txtPalabras.value == ""){
		alert("\n Debe asignar Palabras como referencia de la busqueda");
		form.txtPalabras.focus();
		return false;
	}
	
	var deS3=form.txtPalabras;
	var contS3=deS3.value.length;
	if(contS3>1000){	
		deS3.value=deS3.value.substr(0,1000);
		alert("\n Máximo 1000 carácteres permitidos en Palabras");
		form.txtPalabras.focus();
		return false;
	}
	
	if(form.fLink.value == ""){
		alert("\n Debe asignar un Link");
		form.fLink.focus();
		return false;
	}
}
</SCRIPT>

<%auClave=Request.QueryString("Clave")%>
<html>

<head>
   <title>Inserta un Evento en la Base de Datos</title>
<style type="text/css"> 

TD {
	font-family : Arial, Helvetica, sans-serif;
	font-size : smaller;
}
TH {
	font-family : Arial, Helvetica, sans-serif;
	font-size : smaller;
}

TEXTAREA {
	font-family : Tahoma, Arial, Helvetica, sans-serif;
	font-size : 10pt
}

</style>
</head>

<body background="/images/banda.jpg" bgcolor="#FFFFFF">
<center>
<form name="Paginas" action="InsertaPagResponse.asp" method="GET" onsubmit = "return valida(this)">
	<table cellspacing="0" border>
		<tr bgcolor="#0000A0"><th width="654" align="left"><font face="MS Sans Serif" size="2" color="#FFFFFF">&nbsp;Insertar Páginas del Buscador nuevo</font></th></tr>
		<tr>
			<td align="center">
				<table width="95%">
					<tr>
						<th align="right"><font face="Tahoma" size="2">Clave:</font></th>
						<td><input type="text" name="fClave" value="<%=auClave%>" size="7" disabled></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Nombre Sitio:</font></th>
						<td><input type="text" name="fSitio" size="86" maxlength="200"></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Site Name:</font></th>
						<td><input type="text" name="fSite" size="86" maxlength="200"></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Detalles:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtDetalles" rows="4" cols="87"></textarea>
						</td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Details:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtDetails" rows="4" cols="87"></textarea>
						</td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Link:</font></th>
						<td><input type="text" name="fLink" size="86" maxlength="200"></td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Palabras Claves:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtPalabras" rows="4" cols="87"></textarea>
						</td>
					</tr>
					<tr>
						<th align="right"><font face="Tahoma" size="2">Keys Words:</th>
						<td class="celdaAC002b" bgcolor="eeeeee" align="left" colspan="3">
							<textarea class="inputAC001" name="txtWords" rows="4" cols="87"></textarea>
						</td>
					</tr>
				</table>
			</td>
		</tr>
		<tr>
			<td align="right"><input type="submit" value="Aceptar"><input  type="button" value="Cancelar" onClick="location='port_eve.html'"></td>
		</tr>
	</table>
</form>

</center>
</body>
</html> 
  #4 (permalink)  
Antiguo 01/11/2006, 01:54
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:

En el botón submit estas usando el evento onclick... si lo quitas tendrá que funcionar...

Otra cosa que no tienes bien es el tag script fuera del head de la página... nunca lo había visto...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 05:49.