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 문을 맨 마지막에 넣으십시오. 자바 스크립트 [__`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 ; 
} 
관련 문제