Foros del Web » Programando para Internet » Javascript »

no corre javascript

Estas en el tema de no corre javascript en el foro de Javascript en Foros del Web. hola que tal pues denuevo molestando :P estoy trabajando con opera pero en fin en los demas navegadores tampoco me funciona jeje me meti a ...
  #1 (permalink)  
Antiguo 15/04/2009, 18:43
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
no corre javascript

hola que tal pues denuevo molestando :P

estoy trabajando con opera pero en fin en los demas navegadores tampoco me funciona jeje
me meti a http://www.forosdelweb.com/f13/faqs-...tml#post264445

para validar q mi text box solo acepte numero pero
no me funciona tengo esto
Código PHP:
<script language="javascript"
<!-- 
function 
LP_data(){ 
var 
key=window.event.keyCode;//codigo de tecla. 
if (key 48 || key 57){//si no es numero  
window.event.keyCode=0;//anula la entrada de texto. 
}} 
--> 
</script> 

y en text tengo esto
Código PHP:
<input name="numescri" type="text" id="numescritura" style="background-color:#EBEBEB" onkeypress="LP_data()"/> 


y aun asi no me respeta el javascript y en la consola de errores del opera me aparece esto
Cita:
Event thread: keypress
Error:
name: Error
message: NO_MODIFICATION_ALLOWED_ERR
stacktrace: n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'

y como mencionada tampoco funciona en safari en IE ni en fireefox :(
espero me puedan ayudar saaludines!!!
y si tienen chance q opinan sobre esto?
http://www.forosdelweb.com/f13/encen...riable-689462/

saludines!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #2 (permalink)  
Antiguo 15/04/2009, 18:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no corre javascript

Prueba así:
Código javascript:
Ver original
  1. function LP_data(evt){
  2.     var key = evt.keyCode || evt.which;//codigo de tecla.
  3.     if (key < 48 || key > 57){//si no es numero  
  4.         return false;//anula la entrada de texto.
  5.     }
  6. }

Y para llamarlo:
Código javascript:
Ver original
  1. return LP_data(event);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 15/04/2009, 18:55
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: no corre javascript

uy david gracias de nuevo ahora tengo otro problemita jaja
Código PHP:
<script language="javascript"
<!-- 
function 
solonumeros(e)
{

 var 
key;

 if(
window.event// IE
 
{
  
key e.keyCode;
 }
  else if(
e.which// Netscape/Firefox/Opera
 
{
  
key e.which;
 }

 if (
key 45 || key 57
    {
      return 
false;
    }

 return 
true;

--> 
</script> 
ese si me funciono y me funciono tanto q en opera no me respeta ni el enter ni para borrar nada solo los numeros pero necesito el enter para poder ejecutar mi demas codigo

Código HTML:
<input name="numescri" type="text" id="numescritura" style="background-color:#EBEBEB" onkeypress="javascript:return solonumeros(event)"/> 
asi lo puse espero me ayudes jeje tacos tacos jaja
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #4 (permalink)  
Antiguo 15/04/2009, 18:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no corre javascript

Puedes incluír los códigos de esos caracteres en la condición:
Código javascript:
Ver original
  1. if ((key < 45 || key > 57) && key != 9 && key != 8 && key != 13)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 15/04/2009, 19:04
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: no corre javascript

pero si le pongo eso tambien me deja escribir letras :(

que onda con mi javascript jaja tendra algo q ver el opera
por q con IE si me funciona no me deja poner letras y si respeta el enter y lo demas
gracias!!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #6 (permalink)  
Antiguo 15/04/2009, 19:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no corre javascript

Es que a diferencia de los demás navegadores, en Internet Explorer los caracteres (teclas) especiales no producen el evento onkeypress.

Creo que con esto ya se contempla todos los casos:
Código javascript:
Ver original
  1. function solonumeros(evt){
  2.     var key = evt.keyCode || evt.which;
  3.     alert(key);
  4.     return ((key > 47 && key < 58) || key < 14 || key == 46 || (key > 36 && key < 41));
  5. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Última edición por David; 22/10/2009 a las 20:51
  #7 (permalink)  
Antiguo 16/04/2009, 07:52
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: no corre javascript

david eres de lo mejor muchas gracias me funciono de maravilla pero eso de q no tiene el onkeypress no me quedo claro investigare mil gracias!!
suerte y exito !!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #8 (permalink)  
Antiguo 16/04/2009, 08:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no corre javascript

De nada.

Lo del onkeypress es así. Supongamos que estás en un input type text y presionas la tecla de dirección (cualquiera, derecha, izquierda, arriba o abajo) o la tecla delete, o la tecla tab. Eso en cualquier navegador producirá el evento onkeypress, pero no en Internet Explorer.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 16/04/2009, 08:36
Avatar de TonyChile  
Fecha de Ingreso: marzo-2009
Ubicación: Maipú, Santiago
Mensajes: 422
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: no corre javascript

David el grande:

Gracias a tus consejos que le diste a harvestmoon pude hacer algo similar pero con letras ya que con numeros ya lo habia hecho pero no sabia como hacerlo con las letras (para q aceptara Mayusculas y minusculas) no sabia como conectar los 2 rangos 65-90 y 97-122 lo hacia solo con "||" pero con:

Cita:
if ((key < 45 || key > 57) && key != 9 && key != 8 && key != 13)
Se me ocurrio lo siguiente :

Código asp:
Ver original
  1. <script language="javascript">
  2. <!--
  3. function SoloLetra(){
  4. var key=window.event.keyCode;  
  5. if ((key < 65 || key > 90) && (key < 97 || key > 122) && key != 32){
  6. window.event.keyCode=0;
  7. }}
  8. -->
  9. </script>

Y me resulto perfecto lo de los numeros ningun problema a y en el campo se ejecuta asi:

Código asp:
Ver original
  1. <tr>
  2.       <td width="38%" nowrap class="Estilo7">Asignado:</td>
  3.       <td colspan="2">
  4.            <input name="text10" size="25" maxlength="50" onKeypress="SoloLetra()" onMouseover="showtip2(this,event,'Ingrese el El nombre de la persona asociada al Chip');" onMouseout="hidetip2();" STYLE="cursor: hand"><BR>      
  5.       </td>  
  6.   </tr>

el onMouseover y onMouseout los tengo para mostrar cierta informacion
Alguno de ustedes me puede indicar como hacer para que un campo solo acepte numeros(ya lo hace) pero que ademas debe contener siempre numeros y no estar en blanco. Pero no en el boton hacer eso ya que ahi tengo.

onClick="return window.confirm('Desea Ingresar el registro')"

No se me ocrurre como crear que cumpla con ambas cosas y que al momento de pasar a otro campo de texto mande un mensaje diciendo que el campo no puede estar en blanco y si queren grabar aun estando en blanco no los deje y muestre otro mensaje


Para que el usuario solo confirme y el de la validacion q sea solo numeros lo tengo
Código asp:
Ver original
  1. <script language="javascript">
  2. <!--
  3. function LP_data(){
  4. var key=window.event.keyCode;  
  5. if ((key < 48 || key > 57) && key != 32){
  6. window.event.keyCode=0;//anula la entrada de texto.
  7. }}
  8. -->
  9. </script>
Gracias por el aporte q estes ambos muy bien

Última edición por TonyChile; 16/04/2009 a las 10:40
  #10 (permalink)  
Antiguo 16/04/2009, 09:43
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: no corre javascript

uy se me ocurrio algo pero = no me hagas mucho caso

key!="";
es decir q no contenga nada no?
saludines!


aa y lo del onkeypress
era por eso q no me dejaba ni borrar los numeros
ahora si me acepta los botones menos letras saludines!!
aa y david aprovechando
por fis mira este otro post

http://www.forosdelweb.com/f13/encen...riable-689462/

es q me paso algo con mi input image mil gracias!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #11 (permalink)  
Antiguo 16/04/2009, 10:38
Avatar de TonyChile  
Fecha de Ingreso: marzo-2009
Ubicación: Maipú, Santiago
Mensajes: 422
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: no corre javascript

Gracias harvestmoon pero no me funciono lo puse asi y nada

Código asp:
Ver original
  1. <script language="javascript">
  2. <!--
  3. function LP_data(){
  4. var key=window.event.keyCode;  
  5. if ((key < 48 || key > 57) && key != 32 && key != ""){// y key != 0) y colocando otro if con esas condiciones pero nada
  6. window.event.keyCode=0;
  7. }}
  8. -->
  9. </script>

lo e intentado asi y tampoco nada haber si alguien sabe xq no me funciona lo vi en las FAQs de javascript aca en el foro y lo adapte a mi caso:
Código asp:
Ver original
  1. <script language="JavaScript">
  2.    function noVacio() {
  3.     var i;
  4.     var n = parseInt(document.form1.text1.value);
  5.     var bError = false;
  6.  
  7.     for (i = 0; i < n; i++){
  8.      bError = bError || (eval("document.form1.text1" + i + ".value == ''"));
  9.      if (bError){
  10.       alert("El campo debe contener datos");
  11.       eval("document.form1.text1" + i + ".focus()");
  12.       break;
  13.      }
  14.     }
  15.     if (!bError) alert("Ok");
  16.    }
  17. </script>

y lo llamo asi en el evento onBlur:
Código asp:
Ver original
  1. <tr>
  2.       <td width="38%" nowrap class="Estilo7">N&uacute;mero de Chip:</td>
  3.       <td colspan="2">
  4.           <input type="text" name ="text1" size="25" maxlength="20" onKeyPress="LP_data()" onBlur="noVacio()" onMouseover="showtip2(this,event,'Los datos deben ser númericos y no estar en blanco');" onMouseout="hidetip2();" STYLE="cursor: hand"><BR>  
  5.  
  6.  
  7.       </td>                
  8.    </tr>


Última edición por TonyChile; 16/04/2009 a las 10:59
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 00:43.