如何将更改的输入值作为参数传递给另一个函数

时间:2013-08-04 23:53:32

标签: javascript function parameter-passing

我有一个输入文本字段,其中值可以使用加号和减号按钮递增或递减。

我需要将此输入字段的值作为第3个参数传递给正在另一个按钮中调用的函数(页面中的所有元素同时加载)。

如何使用Javascript ,而不是jQuery?如果我只是传递函数的名称,我就会得到它的主体。

JSFIDDLE

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);
}

1 个答案:

答案 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;
}

jsFiddle