私はLI要素内のIDを持つ入力から値を取得しようとしています。getElementsByTagNameを使用してからgetElementByIdを使用する
しかし、私がgetElementsByTagName()[0].getElementsById()
と呼んだ場合、numLi[i].getElementById is not a function
はnumLiのLI要素の配列になります。ここで私はラインvar ff = numLi[i].getElementById('tagOne');
に
<form action="javascript:void(0);">
<div class="col-md-3">
<div id="enlacesList">
<ul id="uList">
<li class='listaLink'><input type="text" id="tagOne" class="tags" placeholder="Tags" autocomplete="off"></li>
<li class='listaLink'><input type="text" id="tagOne" class="tags" placeholder="Tags" autocomplete="off"></li>
</ul>
</div>
<button id="addgregador" type="button" autocomplete="off"><span class="glyphicon glyphicon-plus"></span></button><button id="desadd" type="button" autocomplete="off"><span class="glyphicon glyphicon-minus"></span></button>
</div>
<div class="col-md-9" id="containerTexto">
<div id="textoPregunta">
<div id="textHeading"><input type="text" name="headingOne" id="inputHead" placeholder="Titulo de la pregunta" autocomplete="off"></div>
<div id="textContent"><textarea id="inputPara" rows="33" cols="84" placeholder="Respuesta, explicación..." autocomplete="off"></textarea></div>
<input type="submit" id="editOk" value="Enviar" class="btn btn-primary" autocomplete="off"><input type="reset" id="editNot" value="Cancelar" class="btn btn-danger" autocomplete="off">
</div>
</div>
プログラムブレークにアクセスしようとしている私の全体のJSコード
$('form').submit(function()
{
var headOne = document.getElementById('inputHead').value;
var archive = document.getElementById('inputPara').value;
var numLi = document.getElementById('uList').getElementsByTagName('li');
var tagsToPost = '';
for(i = 0;i<numLi.length;i++)
{
var ff = numLi[i].getElementById('tagOne');
if(i<=numLi-1)
{
tagsToPost = tagsToPost + ff.value + ',';
}
else
{
tagsToPost = tagsToPost + ff.value;
}
}
});
とHTML部分です。
同じIDのページに複数の要素があるのはなぜですか? – epascarello
@epascarello 2つのボタンが 'ul'タグの下に作成されているので、私はIDで呼び出すことができるので同じIDを使いました。問題の解決策は' getElementsByTagName( 'input')[0 ] 'の代わりに' getElementById( '' tagOne ') ' – Yacomini
同じIDを持つ複数の要素を持つことはできません。代わりにクラスを使用してください。 – JJJ