我有两个按钮,我想将按下按钮的value属性存储到一个名为amount的变量中。下面的代码显然是错误的,两个按钮都有两个相同的ID。我应该在函数中做什么,以将value属性保存为变量onclick?
<button type="button" id='btn' onclick='storeVar' value='1'>1</button>
<button type="button" id='btn' onclick='storeVar' value='2'>2</button>
<script>
function storeVar() {
var amount = document.getElementById('btn').getAttribute('value');
console.log(amount);
}
</script>
答案 0 :(得分:4)
属性 id 在文档中必须是唯一的,请改用 class 。还将this
传递给函数,以便您可以引用函数内的当前按钮:
function storeVar(el) {
var amount = el.getAttribute('value');
// OR: simply
// var amount = el.value;
console.log(amount);
}
<button type="button" class='btn' onclick='storeVar(this)' value='1'>1</button>
<button type="button" class='btn' onclick='storeVar(this)' value='2'>2</button>
答案 1 :(得分:1)
为每个按钮指定唯一的ID或完全删除ID属性。修复html后,请尝试以下代码。
<button type="button" id='btn' onclick='storeVar(this.value)' value='1'>1</button>
<button type="button" id='btn-two' onclick='storeVar(this.value)' value='2'>2</button>
<script>
function storeVar(v){
let amount = v;
console.log(amount);
}
</script>
答案 2 :(得分:1)
确保具有唯一的ID。
<button type="button" id='btn-one' onclick='storeVar(this.value)' value='1'>1</button>
<button type="button" id='btn-two' onclick='storeVar(this.value)' value='2'>2</button>
<script>
function storeVar(value){
let amount = value;
console.log(amount);
}
</script>