Programación Web y Scripting > JavaScript

 Mensaje De Alerta

(1/3) > >>

lulial:
Hola yo quiero que en un formulario de altas al no meter nada en una caja de texto me apareza un mensaje indicando q debe introducir un valor, tengo el siguiente código en la cabecera del html
<script>
function Comprueba(Nombre) {
var n = Nombre.value;
 if(n.length == 0 )  {
     alert('¡Introduzca un valor!');
   Nombre.focus();
 }
}
</SCRIPT>

y el código de la caja de texto es el siguiente:
<input name="Nombre" type="text" maxlength="15" onBlur="Comprueba(this)">

el mensaje me sale el problema que tengo esq a la hora d aceptar el sms e ir a la caja a introducir el valor no me deja cerrar la ventana del sms.

A ver si me podeis ayudar

Gracias

nostromo:
Hola;

Lo más fácil, si tienes un formulario con varios textbox, colocar disabled=true, menos con el textbox inicial, ese queda activado.

En la onkeypress lo accesas a un java script para al apretar enter valide si el texbox este lleno y con tab para posicionarte y activar el siguiente textbox para darle el foco.


--- Código: Text --- function desactivar(){     with(document.formulario)      {            apellidos.disabled = true;            envio.disabled = true;      }} function comprobar(obj){        with(document.formulario)        {      var com = event.keyCode;             switch(obj)             {               case &#34;1&#34;:         if (nombre.value != &#34;&#34; && com == 13)        {with(apellidos){disabled=false; focus();}}      break               case &#34;2&#34;:         if (apellidos.value != &#34;&#34; && com == 13)        {with(envio){disabled=false;focus();}}      break    :    :    etc             }        }} 
En el body:

--- Código: Text --- &#60;body onload=desactivar();&#62; &#60;form name=formulario&#62;      &#60;input type = text size=10 name=nombre onkeypress=comprobar('1');&#62;        &#60;br&#62;      &#60;input type=text size=10 name=apellidos onkeypress =  comprobar('2');&#62;        &#60;br&#62;      &#60;input type=submit value=Enviar name=envio&#62;&#60;/form&#62;  
Así de esta manera tienes más control sobre la validación de los formularios.

Nos vemos.

lulial:
nostromo, yo lo que quiero esq al dejar en blanco una de las cajas de texto me salga el mensaje de alerta indicando q deba introducir un campo (bueno esto me sale con el código anterior, pero el problema es q no se cierra el mensaje de alerta para volver a meter un campo).
No se que hace tu código, lo he probado pero no me funciona ( no se si quieres q te desabilite un campo si no has introducido el anterior)

Gracias.

nostromo:
Hola;

Realize el ejemplo de cero, ahora funciona sin problemas.

El codigo que tengo es habilitar los campos siempre y cuando el campo anterior contenga algo y no te deja avanzar hasta que el campo se encuentre lleno, el uso de alert dejalo un poco de lado, el beep es bastante molesto.

La validación es más profesional y luego puedes hacer ingresar solamente números y letras, para validar los campos de nombres y fonos, etc.

Ahora al inicializar la página, se coloca automaticamente en el primer campo.

El ejemplo se encuentra probado en Win98 SE, Explorer 5.0 y 6.0, Opera. Se utilizo el Crimson Editor (Block de notas con resalte de sintaxis) para editar el código.


--- Código: Text ---/------------------------------  /*    Cedido por Alejandro Ramírez Bastias    Profesional forestal, programador en VisualBasic, html, css, JavaScript, Xml    a_ramirezb@latinmail.com    Iquique, Chile  */  //------------------------------- 

--- Código: Text ---&#60;html&#62;&#60;head&#62;&#60;title&#62;&#60;/title&#62;&#60;style&#62;body {cursor:default;font-family:verdana;font-size:12px;}.texto {font-family:verdana;font-size:12px;}.borde {border:solid 1px #000000;} .btn {border:solid 1px #000000;font-family:verdana;font-size:14px;}&#60;/style&#62;&#60;script&#62;  //------------------------------  /*    Cedido por Alejandro Ramírez Bastias    Profesional forestal, programador en VisualBasic, html, css, JavaScript, Xml    a_ramirezb@latinmail.com    Iquique, Chile  */  //-------------------------------function menus(){  with (document)    {      oncontextmenu = new Function(&#34;return false&#34;);      onselectstart = new Function(&#34;return false&#34;);    }}  function desactivar(){  with(document.formul)    {      //--- Desactivar campos y boton enviar      apell.disabled = true;      direc.disabled = true;      emilio.disabled = true;      listo.disabled = true;      //--- Colocar foco en el primer campo      nom.focus();    }}function salto(obj){  with(document.formul)    {      //--- Declarar variables ----      var e_kc = event.keyCode;      switch(obj)        {                    case &#34;1&#34;:            if (e_kc == 13 && nom.value != &#34;&#34;)              {                with(apell) {disabled=false;focus();}              }              break          case &#34;2&#34;:            if (e_kc == 13 && apell.value != &#34;&#34;)              {                with(direc) {disabled=false;focus();}              }              break          case &#34;3&#34;:            if (e_kc == 13 && direc.value != &#34;&#34;)              {                with(emilio) {disabled=false;focus();}              }              break          case &#34;4&#34;:            if (e_kc == 13 && emilio.value != &#34;&#34;)              {                with(listo) {disabled=false;focus();}              }              break        }    }}&#60;/script&#62;&#60;/head&#62;&#60;body onload=desactivar();menus();&#62;&#60;center&#62;&#60;form name=formul&#62;  &#60;table border=0 cellspacing=0 cellpadding=0 class=texto&#62;    &#60;tr&#62;      &#60;td&#62;Nombre :&#60;/td&#62;&#60;td&#62;&#60;input type=text size=7 name=nom class=borde onkeypress=salto('1');&#62;(*)&#60;/td&#62;    &#60;/tr&#62;    &#60;tr&#62;&#60;td height=30 colspan=2&#62;&#60;/td&#62;&#60;/tr&#62;    &#60;tr&#62;      &#60;td&#62;Apellido :&#60;/td&#62;&#60;td&#62;&#60;input type=text size=7 name=apell class=borde onkeypress=salto('2');&#62;(*)&#60;/td&#62;    &#60;/tr&#62;    &#60;tr&#62;&#60;td height=30 colspan=2&#62;&#60;/td&#62;&#60;/tr&#62;    &#60;tr&#62;      &#60;td&#62;Direcci&oacute;n :&#60;/td&#62;&#60;td&#62;&#60;input type=text size=7 name=direc class=borde onkeypress=salto('3');&#62;(*)&#60;/td&#62;    &#60;/tr&#62;    &#60;tr&#62;&#60;td height=30 colspan=2&#62;&#60;/td&#62;&#60;/tr&#62;    &#60;tr&#62;      &#60;td&#62;Email :&#60;/td&#62;&#60;td&#62;&#60;input type=text size=7 name=emilio class=borde onkeypress=salto('4');&#62;(*)&#60;/td&#62;    &#60;/tr&#62;    &#60;tr&#62;&#60;td height=30 colspan=2&#62;&#60;/td&#62;&#60;/tr&#62;    &#60;tr&#62;      &#60;td&#62;&#60;input type=button value=Enviar name=listo class=btn&#62;&#60;/td&#62;    &#60;/tr&#62;  &#60;/table&#62;(*) Todos los campos son obligatorios, llene el campo respectivo para poder continuar.&#60;/form&#62;  &#60;/center&#62;&#60;/body&#62;&#60;/html&#62; 
Nos vemos.

lulial:
Hola ya entido tu codigo, inabilitar el boton de enviar hasta que no se llenen todos los campos, está muy bien.
Pero he creado un página html con ese mismo código y al meter el campo nombre ni con el tabulardor ni con el ratón me deja posicionarme en el segundo campo, no detectará el valor??

Mi código anterior, me funciona con un campo, pero ya al poner al campo siguiente que llame a comprobar si tiene algo hay se me bloquea y no se cierra el mensaje de alerta.

Muchas gracias por tu ayuda.

Un saludo

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa