我有一个输入文本字段,其中值可以使用加号和减号按钮递增或递减。
我需要将此输入字段的值作为第3个参数传递给正在另一个按钮中调用的函数(页面中的所有元素同时加载)。
如何使用Javascript ,而不是jQuery?如果我只是传递函数的名称,我就会得到它的主体。
HTML:
<input type="button" onclick="updateQuantity('test','add')" value="+" />
<input type="button" onclick="updateQuantity('test','not')" value="-" />
<input type="button" onclick="getUpdatedQty()" value="just proof that I can get value of quantity" />
<input type="button" onclick="passData('test', 2, 2)" value="button passing the data" />
JS:
function updateQuantity(ID, action){
var prodQty = document.getElementById(ID);
var maxQty = 3;
if(action === 'add') {
prodQty.value++;
if(prodQty.value > maxQty) { prodQty.value = maxQty }
} else {
prodQty.value--;
if(prodQty.value <= 0) { prodQty.value = 1 }
}
}
function passData(p1, p2, p3) {
alert('First: '+p1 + ', Second: ' + p2 +', Third: '+ p3);
}
function getUpdatedQty() {
var prodQty = document.getElementById('test'); alert(prodQty.value);
}
答案 0 :(得分:0)
我找到了解决方案,也许其他人将来会需要这个:
HTML:
<input type="text" name="quantity" id="test" value="1" />
<input type="button" onclick="updateQuantity('test','add')" value="+" />
<input type="button" onclick="updateQuantity('test','not')" value="-" />
<input type="button" onclick="passData('test', 2, getUpdatedQty)" value="button passing the data" />
JS:
function updateQuantity(ID, action){
var prodQty = document.getElementById(ID);
var maxQty = 3;
if(action === 'add') { prodQty.value++;
if(prodQty.value > maxQty) { prodQty.value = maxQty }
} else { prodQty.value--;
if(prodQty.value <= 0) { prodQty.value = 1 }
}
}
function passData(p1, p2, p3) {
alert('First: '+p1 + ', Second: ' + p2 +', Third: '+ p3());
}
function getUpdatedQty() {
var prodQty = document.getElementById('test'); return prodQty.value;
}