Foros del Web » Programando para Internet » Javascript »

Problemas con insercion de formulario

Estas en el tema de Problemas con insercion de formulario en el foro de Javascript en Foros del Web. Saludos estoy tratando de hacer un formulario de insercion de registro pero tengo un problema, No me chequea si el password y la confirmacion de ...
  #1 (permalink)  
Antiguo 23/06/2003, 10:21
 
Fecha de Ingreso: junio-2003
Mensajes: 74
Antigüedad: 20 años, 10 meses
Puntos: 1
Pregunta Problemas con insercion de formulario

Saludos estoy tratando de hacer un formulario de insercion de registro pero tengo un problema, No me chequea si el password y la confirmacion de password son iguales. quiero que si no son iguales me salga una ventana JAVASCRIPT explicandole al usuario el error. ESTE ES EL CODIGO COMPLETO QUE ESTOY INTRODUCIENDO:
<!-
function confirmando(){
if(document.registro_usuarios.clave.value!=documen t.registro_usuarios.repcla.value)
{ alert ("Las contraseñas no coinciden");
}
else
{document.registro_usuarios.submit();
}
//-->
</script>
Y ESTE ES EL CODIGO DEL BOTON:
<input name="Submit" type="submit" onClick="confirmando();MM_validateForm('login','', 'R','nombre','','R','apellido','','R','cedula','', 'RisNum','email','','RisEmail','cargo','','R','cla ve','','R','repcla','','R');return document.MM_returnValue" value="Enviar">

TENGO ESE PROBLEMA.

TAMBIEN ME GUSTARIA SABER COMO ES EL CODIGO PARA QUE SI EL USUARIO DEJA UN CAMPO EN BLANCO O EL EMAIL ESTE INCORRECTO ME SALGA EL MISMO MENSAJE DE ERROR.

DE VERDAD AGRADECERIA SU AYUDA.

MIL GRACIAS
  #2 (permalink)  
Antiguo 23/06/2003, 10:36
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Es probable que debas cambiar

<input name="Submit" type="submit" onClick=" confirmando();MM_validateForm...

por esto

<input name="Submit" type="button" onClick=" confirmando();MM_validateForm...

Ya que si es del tipo submit directamente lo envía antes de realizar cualquier comprobación. Al ponerlo del tipo Button no realiza nada, salvo llamar a las funciones que pongas en el evento onClick y luego es Javascript quien se encarga de enviar el formulario como tu bien has puesto:

document.registro_usuarios.submit();

Por cierto, una recomendación. Si los valores no coinciden, aparte de mostrar el aviso podrías borrar las contraseñas y situar el cursor para que el usuario pudiera completarlas de nuevo

document.registro_usuarios.clave.value="";
document.registro_usuarios.repcla.value="":
document.registro_usuarios.clave.focus();
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 23/06/2003, 11:43
 
Fecha de Ingreso: junio-2003
Mensajes: 74
Antigüedad: 20 años, 10 meses
Puntos: 1
Muchas gracias pero otra cosa

Amigo ya realice el cambio pero ahora no me hace nada la pagina cuando le doy click al boton, no se que sera a ver si me puedes ayudar un poco mas.
  #4 (permalink)  
Antiguo 23/06/2003, 11:49
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Prueba a hacer lo opuesto en la comprobación, es decir

function confirmando(){
if(document.registro_usuarios.clave.value==documen t.registro_usuarios.repcla.value)
{document.registro_usuarios.submit()}
else
{alert ("Las contraseñas no coinciden")}

Por otro lado ¿estás seguro de que no crean conflicto este código con el que te ha generado, posiblemente, Dreamweaver?
A lo mejor te merece la pena llamar a la función MM_validateForm() dentro de confirmando() y antes de enviar el formulario.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #5 (permalink)  
Antiguo 23/06/2003, 11:58
 
Fecha de Ingreso: junio-2003
Mensajes: 74
Antigüedad: 20 años, 10 meses
Puntos: 1
Disculpa el abuso y la moletia

Todavia me da este error. te voy a copiar el codigo completo a ver si me puedes ayudar a ver donde esta el error.

EL CODIGO ES UN POCO LARGO PERO TE AGRADECERIA MUCHISMO TU AYUDA



<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<%
// *** Restrict Access To Page: Grant or deny access to this page
var MM_authorizedUsers="";
var MM_authFailedURL="login.asp";
var MM_grantAccess=false;
if (String(Session("MM_Username")) != "undefined") {
if (true || (String(Session("MM_UserAuthorization"))=="") || (MM_authorizedUsers.indexOf(String(Session("MM_Use rAuthorization"))) >=0)) {
MM_grantAccess = true;
}
}
if (!MM_grantAccess) {
var MM_qsChar = "?";
if (MM_authFailedURL.indexOf("?") >= 0) MM_qsChar = "&";
var MM_referrer = Request.ServerVariables("URL");
if (String(Request.QueryString()).length > 0) MM_referrer = MM_referrer + "?" + String(Request.QueryString());
MM_authFailedURL = MM_authFailedURL + MM_qsChar + "accessdenied=" + Server.URLEncode(MM_referrer);
Response.Redirect(MM_authFailedURL);
}
%>
<!--#include file="../Connections/conexion1.asp" -->
<%
// *** Edit Operations: declare variables

// set the form action variable
var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
if (Request.QueryString) {
MM_editAction += "?" + Request.QueryString;
}

// boolean to abort record edit
var MM_abortEdit = false;

// query string to execute
var MM_editQuery = "";
%>
<%
// *** Insert Record: set variables

if (String(Request("MM_insert")) == "registro_usuarios") {

var MM_editConnection = MM_conexion1_STRING;
var MM_editTable = "usuariosadministrador";
var MM_editRedirectUrl = "mensuarios.asp";
var MM_fieldsStr = "login|value|nombre|value|apellido|value|cedula|va lue|email|value|cargo|value|clave|value|repcla|val ue";
var MM_columnsStr = "login_usuario|',none,''|nombre_usuario|',none,''| apellido_usuario|',none,''|cedula_usuario|none,non e,NULL|email_usuario|',none,''|cargo_usuario|',non e,''|clave_usuario|',none,''|repcla_usuario|',none ,''";

// create the MM_fields and MM_columns arrays
var MM_fields = MM_fieldsStr.split("|");
var MM_columns = MM_columnsStr.split("|");

// set the form values
for (var i=0; i+1 < MM_fields.length; i+=2) {
MM_fields[i+1] = String(Request.Form(MM_fields[i]));
}

// append the query string to the redirect URL
if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString;
}
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute it

if (String(Request("MM_insert")) != "undefined") {

// create the sql insert statement
var MM_tableValues = "", MM_dbValues = "";
for (var i=0; i+1 < MM_fields.length; i+=2) {
var formVal = MM_fields[i+1];
var MM_typesArray = MM_columns[i+1].split(",");
var delim = (MM_typesArray[0] != "none") ? MM_typesArray[0] : "";
var altVal = (MM_typesArray[1] != "none") ? MM_typesArray[1] : "";
var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : "";
if (formVal == "" || formVal == "undefined") {
formVal = emptyVal;
} else {
if (altVal != "") {
formVal = altVal;
} else if (delim == "'") { // escape quotes
formVal = "'" + formVal.replace(/'/g,"''") + "'";
} else {
formVal = delim + formVal + delim;
}
}
MM_tableValues += ((i != 0) ? "," : "") + MM_columns[i];
MM_dbValues += ((i != 0) ? "," : "") + formVal;
}
MM_editQuery = "insert into " + MM_editTable + " (" + MM_tableValues + ") values (" + MM_dbValues + ")";

if (!MM_abortEdit) {
// execute the insert
var MM_editCmd = Server.CreateObject('ADODB.Command');
MM_editCmd.ActiveConnection = MM_editConnection;
MM_editCmd.CommandText = MM_editQuery;
MM_editCmd.Execute();
MM_editCmd.ActiveConnection.Close();

if (MM_editRedirectUrl) {
Response.Redirect(MM_editRedirectUrl);
}
}

}
%>
<%
var registro = Server.CreateObject("ADODB.Recordset");
registro.ActiveConnection = MM_conexion1_STRING;
registro.Source = "SELECT login_usuario, nombre_usuario, apellido_usuario, cedula_usuario, email_usuario, cargo_usuario, clave_usuario, repcla_usuario FROM usuariosadministrador ORDER BY login_usuario";
registro.CursorType = 0;
registro.CursorLocation = 2;
registro.LockType = 1;
registro.Open();
var registro_numRows = 0;
%>
<html>
<head>
<title>Registro nuevos usuario del Administrador</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../config/estilos" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
<!-
function confirmando(){
if(document.registro_usuarios.clave.value==documen t.registro_usuarios.repcla.value)
{document.registro_usuarios.submit()}
else
{ alert ("Las contraseñas no coinciden");
}
//-->
</script>
</head>


<body>
<form ACTION="<%=MM_editAction%>" method="POST" name="registro_usuarios" id="registro_usuarios">

<p class="texto-informativo">Pagina de registro nuevos usarios sistema administrativo
</p>
<p class="texto-informativo">&nbsp;</p>
<table width="293" border="1" align="center" cellspacing="1" bordercolor="#000000">
<tr>
<td width="129" class="titulos-formularios">Login de usuario:</td>
<td width="144"><div align="center">
<input name="login" type="text" id="login">
</div></td>
</tr>
<tr>
<td class="titulos-formularios">Primer Nombre:</td>
<td><div align="center">
<input name="nombre" type="text" id="nombre">
</div></td>
</tr>
<tr>
<td class="titulos-formularios">Primer Apellido:</td>
<td><div align="center">
<input name="apellido" type="text" id="apellido">
</div></td>
</tr>
<tr>
<td class="titulos-formularios">Cedula Usuario:</td>
<td><div align="center">
<input name="cedula" type="text" id="cedula">
</div></td>
</tr>
<tr>
<td class="titulos-formularios">Email de usuario:</td>
<td><div align="center">
<input name="email" type="text" id="email">
</div></td>
</tr>
<tr>
<td class="titulos-formularios">Cargo en la empresa:</td>
<td><div align="center">
<input name="cargo" type="text" id="cargo">
</div></td>
</tr>
<tr>
<td class="titulos-formularios">Clave o Password:</td>
<td><div align="center">
<input name="clave" type="password" id="clave">
</div></td>
</tr>
<tr>
<td class="titulos-formularios">Repita su Clave:</td>
<td><div align="center">
<input name="repcla" type="password" id="repcla">
</div></td>
</tr>
</table>
<br>
<div align="center"> </div>
<div align="center"> </div>
<div align="center">
<p>
<input name="Submit" type="button" onClick="confirmando();MM_validateForm('login','', 'R','nombre','','R','apellido','','R','cedula','', 'RisNum','email','','RisEmail','cargo','','R','cla ve','','R','repcla','','R');return document.MM_returnValue" value="Registrar">
</p>
<p>&nbsp; </p>
</div>
<p>&nbsp; </p>

<input type="hidden" name="MM_insert" value="registro_usuarios">
</form>

</html>
<%
registro.Close();
%>
  #6 (permalink)  
Antiguo 23/06/2003, 12:10
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Más o menos así me he quedado....
Ummmm... sólo te puedo decir ... ¿realmente necesitas esa función de confirmando()? Por qué no pruebas a poner

function confirmando(){
if(document.registro_usuarios.clave.value==documen t.registro_usuarios.repcla.value)
{MM_validateForm('login','','R','nomb
re','','R','apellido','','R','cedula','','RisNum',
'email','','RisEmail','cargo','','R','clave','','R
','repcla','','R');return document.MM_returnValue}
else
{ alert ("Las contraseñas no coinciden");
}
Y la quitas del botón.

Si no sale así.... me parece que esto es superior a mis conocimientos, paciencia y fuerzas.

Un saludo y muchiiiiiiisima suerte.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 23/06/2003, 12:22
 
Fecha de Ingreso: junio-2003
Mensajes: 74
Antigüedad: 20 años, 10 meses
Puntos: 1
Lamentablemente no funciono

Bueno de verdad te agradesco el esfuerzo y bueno continuare probando hasta lograrlo.
  #8 (permalink)  
Antiguo 23/06/2003, 12:25
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Pero ¿has probado lo último que te he comentado?
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #9 (permalink)  
Antiguo 23/06/2003, 12:31
 
Fecha de Ingreso: junio-2003
Mensajes: 74
Antigüedad: 20 años, 10 meses
Puntos: 1
Probado

Ya lo probe y nada; pero te comento algo al colocar el boton como button y no como submit en las propiedades del mismo se coloca en "ninguna"; no deberia quedar en "enviar formulario". desde la pagina web al darle al boton no hace nada y en la barra de estado me dice error en la pagina, mas nada no se mueve el explorador. Gracias
  #10 (permalink)  
Antiguo 23/06/2003, 12:38
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Realmente, si no estoy equivocado, daría lo mismo poner

<input type="Button" onClick="document.formulario.submit()">

que

<input type="Submit">

a la hora de enviarlo. Pero.....
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #11 (permalink)  
Antiguo 23/06/2003, 12:44
 
Fecha de Ingreso: junio-2003
Mensajes: 74
Antigüedad: 20 años, 10 meses
Puntos: 1
Ok ya el boton me envia

Ok ya logre que el boton me envie el formulario pero no logro hacer que me verifique las claves lo codifique de esta forma a ver que me dices

function confirmando(){
if (document.registro_usuarios.clave.value == "")
alert("Campo vacío.");
else
if(document.registro_usuarios.clave.value!=documen t.registro_usuarios.repcla.value)
{ alert ("Las contraseñas no coinciden");
}
else
{document.registro_usuarios.submit();
}

Que te parece este codigo???????

SI NO ES MUCHA MOLESTIA Y SI TUVIESES MSN DE HOTMAIL PODRIAMOS HABLAR POR ESE MEDIO Y ME AYUDAS.

MIL GRACIAS
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 17:24.