2016-09-02 3 views
1

私が作業しているウェブサイトの別のフォームで使用する必要がある文字列を作成するJavaScript関数を作成しました。これを行うには、値を隠しフィールドに書き、それをHTMLフォームで送信するだけだと思いました。ただし、アラートが入力されても、フィールドに値が表示されるわけではありません。 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 ; 
} 

私は隠しフィールドとしてこれを持って

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

読みます... – Rayon

+0

関数は 'return itemTest'を実行すると実行を停止します。それ以降は何も無視されます。 – Barmar

答えて

0

return文は、呼び出し元に機能してリターンを終了します。関数内のそれ以降は何も実行されません。したがって、入力の値への代入は無視されます。最後にreturn声明を書いてください。 JavaScriptで[__`return`__](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/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 ; 
} 
関連する問題