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í:
form_x.input_x.(lo que quieras obtener/modificar);
pero estoy tratando de hacer lo mismo pero usando document.getElement
algo que intenté fue:
document.getElementById('form_x').getElementsByName('input_x')[0];
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.
document.getElementById('form_x').getElementsByName('input_x')[0];
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:
document.getElementById('form_x').querySelector('[name=input_x]')
-- O directamente así:
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.
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.