Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 20 Mayo 2020, 21:38 PM

Título: [Pregunta]: ¿Cómo puedo hacer qué esto funcione?
Publicado por: Leguim 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 (javascript) [Seleccionar]
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 (javascript) [Seleccionar]

document.getElementById('form_x').getElementsByName('input_x')[0];


Tampoco me funciona, intenté probando de otras maneras... entre ellas sacar el "
Título: Re: [Pregunta]: ¿Cómo puedo hacer qué esto funcione?
Publicado por: EdePC 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 (javascript) [Seleccionar]
document.getElementById('form_x').querySelector('[name=input_x]')

-- O directamente así:

Código (javascript) [Seleccionar]
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.
Título: Re: [Pregunta]: ¿Cómo puedo hacer qué esto funcione?
Publicado por: @XSStringManolo 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.