让我说我有两个具有相同ID的textareas,他们的父母有相同的ID,但父表单有不同的名字..我需要得到第二个表格的第二个textarea值! 这是一个简单的代码..
var formX = document.getElementsByName("form2");
for(i = 0; i < formX.length; i++){
if(formX[i].type == "textarea"){
var inputval = formX.value;
alert(inputval);
}
}
<form name="form1">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value1</textarea>
</div>
</div>
</form>
<form name="form2">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value2</textarea>
</div>
</div>
</form>
非常感谢
答案 0 :(得分:1)
您可以使用jQuery find()
或children()
方法获得相同的效果。在这里,您可以阅读jQuery Traversing。
console.log($('[name=form2]').find('#sameID').text()); //or value() can be used in place of text() method
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="form1">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value1</textarea>
</div>
</div>
</form>
<form name="form2">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value2</textarea>
</div>
</div>
</form>
&#13;
答案 1 :(得分:0)
没有为两个不同元素提供相同ID的目的。你在搞乱使用ID的概念。尝试不同的ID,它会工作。 例如:
$('#parentId').find('#childId');
或
$('#parentId #childId');
答案 2 :(得分:0)
使用单行代码获得第二个textarea值。哪里不需要使用任何id。检查下面更新的代码段。
console.log($('form[name="form2"] textarea').val());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="form1">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value1</textarea>
</div>
</div>
</form>
<form name="form2">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value2</textarea>
</div>
</div>
</form>
&#13;
答案 3 :(得分:0)
您还可以使用纯js从所需的textarea获取值
var forms = document.getElementsByTagName('form');
for(var i = 0, ii = forms.length; i < ii; i++) {
var textArea = forms[i].getElementsByTagName("textarea")[0];
console.log(textArea.value)
}
&#13;
<form name="form1">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value1</textarea>
</div>
</div>
</form>
<form name="form2">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value2</textarea>
</div>
</div>
</form>
&#13;
答案 4 :(得分:0)
请尝试以下代码
val2 = $("form[name=form2] #samediv2 textarea").val()
上面的代码会将值返回为value2
希望这有帮助