2016-09-02 90 views
1

我创建了一个JavaScript函数,该函数创建一个字符串,我需要在我正在处理的网站上以另一种形式使用该字符串。要做到这一点,我想我只会将值写入隐藏字段,然后在HTML表单中提交。但是,即使警报将填充,但我所做的任何操作都不会获得显示在该字段中的值。为什么我的隐藏字段从JavaScript函数中填充?

function customFunc(){ 
    var customD = document.querySelector('input[name = "customD"]:checked').value; 
    var customL = document.getElementById('Custom_Length').value; 
    var customW = document.getElementById('Custom_Width').value; 
    var lowerV = customL * customW; 
    var maxV1 = Math.ceil(lowerV/100)*100; 
    var maxV2 = maxV1 - 1; 
    var lowerB = maxV1 - 100; 
    var pStyle = document.querySelector('input[name = "pl"]:checked').value; 
    var itemTest = pStyle +customD+"."+lowerB+"-"+maxV2; 
    alert(itemTest); 
    return itemTest ; 
    document.getElementById('testSku').value = itemTest ; 
} 

在HTML方面我有这样的隐藏字段

<input type="text" name="testSku" id="testSku"> 
+1

阅读有关在JavaScript [__'return'__(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/return)关键字或任何编程语言... – Rayon

+0

函数在执行'return itemTest'时停止运行。之后的任何内容都会被忽略。 – Barmar

回答

0

return语句结束函数,并返回给调用者。之后的任何事情都不会被执行。所以对输入值的赋值将被忽略。将return声明放在最后。

function customFunc(){ 
    var customD = document.querySelector('input[name = "customD"]:checked').value; 
    var customL = document.getElementById('Custom_Length').value; 
    var customW = document.getElementById('Custom_Width').value; 
    var lowerV = customL * customW; 
    var maxV1 = Math.ceil(lowerV/100)*100; 
    var maxV2 = maxV1 - 1; 
    var lowerB = maxV1 - 100; 
    var pStyle = document.querySelector('input[name = "pl"]:checked').value; 
    var itemTest = pStyle +customD+"."+lowerB+"-"+maxV2; 
    alert(itemTest); 
    document.getElementById('testSku').value = itemTest ; 
    return itemTest ; 
} 
相关问题