Foros del Web » Programando para Internet » Javascript »

nuevo atributo en un INPUT

Estas en el tema de nuevo atributo en un INPUT en el foro de Javascript en Foros del Web. Pues eso, imaginaros <input type="text" name="nombre" size="50" nuevo="loquesea"> Pues eso, para poder leer este atributo nuevo desde javascript pondría document.form.nombre.nuevo; Esto me devuelve "loquesea". Cual ...
  #1 (permalink)  
Antiguo 28/04/2003, 11:20
 
Fecha de Ingreso: enero-2002
Ubicación: Cádiz, España
Mensajes: 96
Antigüedad: 22 años, 10 meses
Puntos: 0
nuevo atributo en un INPUT

Pues eso, imaginaros

<input type="text" name="nombre" size="50" nuevo="loquesea">

Pues eso, para poder leer este atributo nuevo desde javascript pondría

document.form.nombre.nuevo;

Esto me devuelve "loquesea". Cual es el problema?. Que funciona bien en IE, pero en NetScape no funciona. En NS sólo funcionan los atributos de toda la vida. Creo que esto no tiene solución, pero he pensado en buscarlo de otra manera. ¿existe alguna forma de que me devuelva el código entero del INPUT? o sea, de alguna manera que me devuelva:

<input type="text" name="nombre" size="50" nuevo="loquesea">

o sea todo, para ver como puedo pillar en NetScape el contenido del atributo "nuevo"

gracias a todos
__________________
http://www.javielinux.com
  #2 (permalink)  
Antiguo 28/04/2003, 11:27
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
aquí de nuevo!

Mira, había observado que eso a explorer le sirve pero no a netscape, pero el otro día me inventé un atributo y se lo creé desde javascript y para mi sorpresa le gustó a netscape.

Lo que no sé es si a versiones inferiores les gustará (lo probé con la 7)

Le dije document.getElementById('loquesea').pepe =true

Y le sirvió. Prueba a ver si así te lo acepta
  #3 (permalink)  
Antiguo 28/04/2003, 11:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola a todos:

perezfj: En el otro post te puse como conseguir una colección de elementos de un formulario que vale en Netscape, y no tengo ninguna duda de que puedes inventarte nuevos atributos.

Tunait: perdona, pero cuando das una solución, y la ignoran, te pone un poco loco (sé que me comprendes, y por eso te pido disculpas)...

document.forms.elFormulario.getElementsByTagName(" input")[n].nuevo = "loquesea";

Por favor, pruébalo, y dime si te funciona o no.

Saludos
  #4 (permalink)  
Antiguo 29/04/2003, 01:58
 
Fecha de Ingreso: enero-2002
Ubicación: Cádiz, España
Mensajes: 96
Antigüedad: 22 años, 10 meses
Puntos: 0
......

creo que me he explicado mal. He probado a poner un atributo con javascript como me comentáis y va perfecto. O sea,

document.getElementById("nombre").nuevo = "loquesea";

alert (document.getElementById("nombre").nuevo);

y me sale "loquesea" en el alert.

Pero eso no es realmente lo que quiero. Lo que quiero es que el INPUT tenga un atributo nuevo

<input name="nombre" ...... nuevo="loquesea">

y poder recogerlo de alguna manera. Con IE funciona perfectamente

alert(document.getElementById("nombre").nuevo)

y sale, pero en NetScape no funciona.

Creo q es q no funciona y no hay que darle más vueltas, así que tengo que buscar alguna manera de recoger esos datos. ¿tenéis alguna idea?

gracias por todo
__________________
http://www.javielinux.com
  #5 (permalink)  
Antiguo 29/04/2003, 02:08
 
Fecha de Ingreso: enero-2002
Ubicación: Cádiz, España
Mensajes: 96
Antigüedad: 22 años, 10 meses
Puntos: 0
.....

mi idea en un principio si eso no funciona es recoger en una variable el contenido HTML del input en concreto, y de alguna manera, buscar ahí dentro lo que necesito. Entonces por ejemplo si hago lo siguiente:

alert (document.body.innerHTML);

Esto me dá todo el código de la página, todo lo del body. Si hago esto:

alert (document.form1.innerHTML);

me da todo el código del Formulario (pero no me da las etiquetas form y fin de forrm). Así si hago esto:

alert (document.form1.nombre.innerHTML);

no me da nada, ya que el INPUT "nombre" no contiene nada en su interior. Lo que quiero es que me de esto:

<input ....... nuevo="loquesea">

pero no lo consigo

¿alguna idea?
__________________
http://www.javielinux.com
  #6 (permalink)  
Antiguo 29/04/2003, 05:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola otra vez:

perezfj: A ver si esto te sirve:

Código PHP:
<html>
<
head>
<
title>
    
Nuevos atributos
</title>
</
head>
<
body>
<
form>
Nombre:<input type="text" name="nombre" value="" nuevo="Hola"><br>
<
input type="button" 
 
value="Variable nuevo" onclick="alert(document.forms[0].nombre.getAttribute('nuevo'))">
</
form>
</
body>
</
html
Verás que uso el método getAttribute, y como parámetro el nombre del atributo.

La verdad es que no lo he visto que se usara nunca en los foros, pero recuerdo que estaba en la documentación msdn de microsoft ...

Lo probé en mi netscape 7 y también funciona. y también en opera 7.
No sé si servirá en otros navegadores...
Espero que te sirva...

P.D: Perdona por el otro mensaje.

Saludos
  #7 (permalink)  
Antiguo 29/04/2003, 05:38
 
Fecha de Ingreso: enero-2002
Ubicación: Cádiz, España
Mensajes: 96
Antigüedad: 22 años, 10 meses
Puntos: 0
Sonrisa perfecto

eso es exactamente lo que quería

gracias a todos
__________________
http://www.javielinux.com
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 18:32.