1
以下は達成したいテストコードです。キャンセルをクリックすると、送信ボタンの値がわかります。ここで私はループのために使用している。反復しないで他の方法がありますか?javascriptを使用して最も近いサブミットボタンを取得するには
<!DOCTYPE html>
<html>
<body>
<ol>
<input type="text" name="txt1">
<input type="text" name="txt2">
<input type="text" name="txt3">
<li><input type="button" value="cancel" name="cancel" onclick="myFunction()"></li>
<li><input type="button" value="undo" name="undo"></li>
<li><input type="submit" value="send mail" name="submit"></li>
</ol>
<script>
function myFunction() {
var elementsLI = document.getElementsByTagName('li');
var length = document.getElementsByTagName('li').length;
for(var i = 0; i <= length ; ++i){
if(elementsLI[i].childNodes[0].type == "submit"){
alert(elementsLI[i].childNodes[0].value);
}
//var y = elementsLI.childNodes[i].type == "submit";
}
}
</script>
</body>
</html>
ない有効なマークアップ –
なぜあなただけのようなidは「提出する」と(「提出」)のdocument.getElementByIdでそれを検索し送信ボタンを与えることはありません。 ? –
これは動的に生成され、私はそれらを変更できません。任意の要素にIDがありません – Suyash