elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Cómo puedo hacer qué esto funcione?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Cómo puedo hacer qué esto funcione?  (Leído 2,562 veces)
Leguim


Desconectado Desconectado

Mensajes: 719



Ver Perfil
[Pregunta]: ¿Cómo puedo hacer qué esto funcione?
« en: 20 Mayo 2020, 21:38 pm »

Estoy tratando de obtener a partir de un formulario cuya id es "form_x", un input cuyo name es "input_x".

Con javascript generalmente se hace así:
Código
  1. form_x.input_x.(lo que quieras obtener/modificar);

pero estoy tratando de hacer lo mismo pero usando document.getElement

algo que intenté fue:
Código
  1. document.getElementById('form_x').getElementsByName('input_x')[0];
  2.  

Tampoco me funciona, intenté probando de otras maneras... entre ellas sacar el "
  • " pero por lo que investigué es parecido a cuando se obtiene un elemento por ClassName,,, es requerido que sea así ya que se pueden obtener más de 1 elemento...

"getElementsByName" is not a function, me dice en consola. Probé con código separado, primero obtener el formulario por id, lo cual funcionó y después por separado el input con name "input_x" lo que también funcionó.

El problema está cuando trato de buscarlos juntos que es lo que quiero hacer.
Código
  1. document.getElementById('form_x').getElementsByName('input_x')[0];
  2.  



En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.042



Ver Perfil
Re: [Pregunta]: ¿Cómo puedo hacer qué esto funcione?
« Respuesta #1 en: 20 Mayo 2020, 22:21 pm »

Saludos,

- El método .getElementsByTagName() es solamente de document, no se lo puedes aplicar a otro elemento.

- Podrías optar por .querySelector() o .querySelectorAll(), estos devuelven el primer elemento que coincida o todos los elementos que coincidas respectivamente. Ambos selectores se encuentran presentes en los Objetos Element, entonces los puedes utilizar asi:

Código
  1. document.getElementById('form_x').querySelector('[name=input_x]')

-- O directamente así:

Código
  1. document.querySelector('#form_x [name=input_x]')

-- Es el selector más parecido al que trae jQuery pero innato de javascript

- Si conoces los selectores CSS le sacarán más provecho.


En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: [Pregunta]: ¿Cómo puedo hacer qué esto funcione?
« Respuesta #2 en: 21 Mayo 2020, 11:53 am »

 https://www.w3schools.com/cssref/css_selectors.asp


Según para que hay más formas. Puedes obtener el innerHTML del elemento y usar una RegExp para sacar el identificador.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta simple : Porque no puedo hacer esto?
Programación Visual Basic
CAR3S? 2 2,944 Último mensaje 9 Octubre 2011, 17:08 pm
por CAR3S?
[Pregunta]: ¿Como puedo hacer esto equivalente con javascript?
Desarrollo Web
Leguim 9 4,567 Último mensaje 3 Julio 2020, 09:42 am
por #!drvy
[Pregunta]: ¿Cómo puedo hacer esto con los recapchas de google?
Desarrollo Web
Leguim 1 2,445 Último mensaje 27 Julio 2020, 21:44 pm
por Leguim
[Pregunta]: ¿Cómo puedo hacer esto con $.ajax?
Desarrollo Web
Leguim 2 3,739 Último mensaje 4 Septiembre 2021, 06:32 am
por Leguim
Como puedo hacer que este código ensamblador funcione? « 1 2 »
ASM
alienxz77b 15 11,734 Último mensaje 25 Octubre 2021, 23:25 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines