JavaScript로 제출시 숨겨진 필드의 값을 변경하려고합니다. 내 페이지에는 두 개의 버튼이 있습니다. 하나는 홈 페이지 (index.php
)로, 다른 하나는 데이터 입력 첫 번째 페이지로 돌아 가기위한 버튼입니다 (addData.php
). 나는 호랑이를 통제하기 위해 ID가 "goHome"
인 숨겨진 필드를 사용하려고합니다. 내 코드는 다음과 같습니다양식을 제출하기 전에 숨겨진 필드의 값을 강제로 변경하십시오.
:
HTML (양식 만) 나는 많은 다른 버전을 시도하고 난 다음 몇 가지 질문에 대해 참조이 전에
<form name = "addDataReal" id = "addDataReal" method = "POST" action = "addDataProc.php" onsubmit="return checkNSub()">
<!-- Other items -->
<input type = "submit" name = "submitBtnF" id = "submitBtnF" class="shortText" style = "width: 120px;" value = "Submit + Home" onclick = "return getGoValue(true)"/>
<input type = "submit" name = "submitBtnR" id = "submitBtnT" class="shortText" style = "width: 120px;" value = "Submit + Next" onclick = "return getGoValue(false)"/>
<input type = "hidden" name = "goHome" id = "goHome" value = "" />
</div>
</form>
자바 스크립트
function checkNSub() {
//form validation functions
//OK then return true
//Not then return false
}
function getGoValue(goHome) {
if (goHome) {
document.getElementById("goHome").value = "true";
} else {
document.getElementById("goHome").value = "false";
}
return true;
}
Set form hidden value on submit
Setting a form variable value before submitting
How to change the value of hidden input field before submitting [SOLVED]
그러나 방법 중 어느 것도 나를 위해 작동하지 않았다.
실용적인 해결 방법이 있지만이 두 단추를 유지하려면 양식을 제출하기 전에 "goHome"
값을 변경할 수 있도록 내 코드를 어떻게 수정해야합니까? 많은 시도 후에 나는 아직도 $_POST["goHome"] = ""
을 얻고 있습니다.
또한 코드가 이전에 배치되었을 때 값이 실제로 변경되기 전에 양식이 제출되는 이유는 무엇입니까?
감사합니다!
Btw, 아니 jQuery하시기 바랍니다.
양식을 제출할 때 _server_는 두 개의 버튼 중 어느 것이 "submitBtnF"매개 변수를 얻으려고 시도했는지 알 수 있고,없는 경우 submitBtnR 값을 얻으려고합니다. 이제 서버는 양식 데이터를 처리/저장할 수 있으며, submitBtnF가 양식을 제출하는 데 사용되면 [redirect] (https://wikipedia.org/wiki/Post/Redirect/Get)를 집으로 보내거나 addData.php 다시 submitBtnR이 사용 된 경우. –