2016-09-02 122 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 ; 
} 
相關問題