2014-09-09 1 views
0

JavaScript를 사용하여 브라우저/클라이언트 표준 시간대 오프셋 값을 가져 오는 양식이 있습니다. 양식이 게시 될 때 양식 필드에 값을 설정해야합니다. , 그것은 내 백엔드 스크립트로 보낼 것입니다.JavaScript 또는 jQuery를 사용하여 숨겨진 양식 필드를 설정할 수 없음

아래와 같은 코드를 사용하면 alert(clientTimeOffset)에 올바른 값이 표시 될 수 있지만 양식을 제출할 때 숨겨진 양식 필드는 결코 게시되지 않도록 해당 값으로 설정하지 않습니다.

아래 코드는 제가 지금까지 시도한 모든 코드입니다, 어떤 도움을 주시겠습니까?

버전 1

jQuery(document).ready(function() { 

    // Set TimeZone Offset Form Value 
    var d = new Date(); 
    var clientTimeOffset = (d.getTimezoneOffset()/ 60 *(-1))+5; 
    jQuery("#timezone").val(clientTimeOffset); 

}); 

버전 2

jQuery(document).ready(function() { 

    // Set TimeZone Offset Form Value 
    var d = new Date(); 
    var clientTimeOffset = (d.getTimezoneOffset()/ 60 *(-1))+5; 
    var x = document.getElementById("timezone"); 
    x.value=clientTimeOffset; 

}); 

내 양식 필드를 ...

<input type="hidden" name="timezone" id="timezone" /> 
+1

[MCVE] (http://stackoverflow.com/help/mcve)를 만들 수 있습니까? 동일한 'id'를 가진 다른 요소가 없으면 나중에 다른 값을 덮어 쓰지 않으며 숨겨진 필드는 실제로 게시하는 양식에 있습니다 (일부 * 다른 양식과 반대 또는 양식), 그 작동해야합니다. –

+1

@TJCrowder 당신이 말한 것은 재밌습니다. 그게 바로 문제였습니다. 거대한 형식이었고 어떻게 든 똑같은 ID로 2 개의 필드로 끝났습니다. 그래서 두 번째 필드가 첫 번째 필드를 덮어 쓸 것입니다. .. 아마도 시간이 한 시간 쯤 걸렸을 것입니다. – JasonDavis

+0

도움이 된 것을 기쁘게 생각합니다! –

답변

0

내가 바보 느낌이 있지만, 문제는, 어떻게 든 내가 있었다 숨겨진 양식 필드 2 개 동일한 #ID, 그래서 그것은 첫 번째 값을 설정하고 두 번째는 POST가 만들어 질 때 빈 것으로 덮어 씁니다. 어쩌면 이것은 누군가 언젠가 도움이 될 것입니다. 선택기가 일치하는 1 개의 양식 필드 만 가지고 있는지 확인하십시오!

관련 문제