Javascript 변수를 PHP POST에 전달
중복 가능성:
양식 제출과 같은 JavaScript 게시 요청
저는 PHP 스크립트에 입력 양식의 일부로 전달하고 싶은 JS로 계산된 값이 있습니다.POST 매개 변수로 PHP에 JS 값을 가져오려면 어떻게 해야 합니까?
기본적으로, 제출할 때, 나는 필요합니다.total
var는 포스트를 통해 다음 스크립트로 전달됩니다.
가장 먼저 떠오르는 아이디어는 그 안에 가치가 있고 그 형태로 입력되는 보이지 않는 입력 형태를 만드는 것인데, 그게 가능할까요?
이것을 달성하기 위한 많은 방법들이 있습니다.당신이 질문하는 방식과 관련하여, 숨겨진 폼 요소가 있습니다.
양식 내에 다음 양식 요소를 작성합니다.
<input type="hidden" name="total" value="">
그래서 당신의 형태는 다음과 같습니다.
<form id="sampleForm" name="sampleForm" method="post" action="phpscript.php">
<input type="hidden" name="total" id="total" value="">
<a href="#" onclick="setValue();">Click to submit</a>
</form>
그러면 당신의 자바스크립트는 다음과 같습니다.
<script>
function setValue(){
document.sampleForm.total.value = 100;
document.forms["sampleForm"].submit();
}
</script>
예, 당신은 사용할 수 있습니다.<input type="hidden" />
다른 양식 데이터와 함께 게시되도록 Javascript 코드에 숨겨진 필드의 값을 설정합니다.
Ajax를 사용하여 이 작업을 수행할 수 있습니다.다음과 같은 용도로 사용하는 기능이 있습니다.
function ajax(elementID,filename,str,post)
{
var ajax;
if (window.XMLHttpRequest)
{
ajax=new XMLHttpRequest();//IE7+, Firefox, Chrome, Opera, Safari
}
else if (ActiveXObject("Microsoft.XMLHTTP"))
{
ajax=new ActiveXObject("Microsoft.XMLHTTP");//IE6/5
}
else if (ActiveXObject("Msxml2.XMLHTTP"))
{
ajax=new ActiveXObject("Msxml2.XMLHTTP");//other
}
else
{
alert("Error: Your browser does not support AJAX.");
return false;
}
ajax.onreadystatechange=function()
{
if (ajax.readyState==4&&ajax.status==200)
{
document.getElementById(elementID).innerHTML=ajax.responseText;
}
}
if (post==false)
{
ajax.open("GET",filename+str,true);
ajax.send(null);
}
else
{
ajax.open("POST",filename,true);
ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
ajax.send(str);
}
return ajax;
}
첫 번째 매개 변수는 변경할 요소입니다.두 번째 매개 변수는 변경할 요소에 로드하는 파일 이름입니다.세 번째 파라미터는 사용 중인 GET 또는 POST 데이터입니다. 예를 들어 "total=10000&othernumber=999"입니다.마지막 매개 변수는 POST를 사용하려면 true이고 GET를 사용하려면 false입니다.
숨겨진 폼 요소에 대한 당신의 생각은 확고합니다.이런 거.
<form action="script.php" method="post">
<input type="hidden" name="total" id="total">
</form>
<script type="text/javascript">
var element = document.getElementById("total");
element.value = getTotalFromSomewhere;
element.form.submit();
</script>
물론, 이것은 위치를 변경할 것입니다.script.php
사용자에게 보이지 않게 이 작업을 수행하려면 AJAX를 사용해야 합니다.다음은 jQuery의 예입니다(간단히 설명).양식 또는 숨겨진 입력이 필요하지 않습니다.
$.post("script.php", { total: getTotalFromSomewhere });
언급URL : https://stackoverflow.com/questions/9882211/pass-javascript-variable-to-php-post
'programing' 카테고리의 다른 글
비트 열에 SUM을 사용하려면 어떻게 해야 합니까? (0) | 2023.08.06 |
---|---|
MySQL 테이블에 대해 '너무 많은' 행은 몇 개입니까? (0) | 2023.08.06 |
어떤 키 저장소가 앱에 서명하는 데 사용되었는지 어떻게 알 수 있습니까? (0) | 2023.08.01 |
항상 Android:configChanges="키보드 숨김|방향"을 사용하지 않는 이유는 무엇입니까? (0) | 2023.08.01 |
sysbench 누적 요약을 csv로 변환 (0) | 2023.08.01 |