2016-07-08 2 views
0

jQuery 스크립트의 값을 가진 입력 값을 $_POST 입력해야합니다. 그러나 var_dump 전체 $_POST 필드를 시도 할 때 웬일인지 amount 스크립트의 값을 가진 스크립트)는 아무것도 출력하지 않습니다. html로 여기jQuery 스크립트에서 입력 값 설정

$(document).ready(function(){ 
    update(); 
}); 

$('input[type=checkbox]').click(function(){ 
    update(); 
}) 

function update(){ 
    var amount2 = 0; 
    var options = 0; 
    $('#instNum2 option').remove(); 
    $('.check_list').each(function() { 
     if (this.checked) { 
      amount2 += Number($(this).attr("val")); 
      options ++; 
     } 
}); 

$("#amount2").val("R$"+amount2.toFixed(2)); 

그리고있다 :

<div class="row control-group"> 
    <div class="form-group col-xs-12 floating-label-form-group controls"> 
     <br><h4 style="margin-top: -5px;">Total Selecionado:</h4> 
     <input type="text" class="form-control" id="amount2" name="amount"> 
     <p class="help-block text-danger"></p> 
    </div> 
</div> 

이 기능은 간단하다, 그것은 각 열의 값을 합계

jQuery 코드 : 여기

은 undestanding에 일부 코드입니다 을 선택하면 입력에 총 값이 인쇄됩니다. 내가 양식을 제출 중 후 일반적인 $_POST['amount']와 입력의 총 가치를 잡을 때

문제는 ...이 빈 필드를 인쇄

어떤 생각인가?

+0

JavaScript와 PHP는 같은 페이지에 있습니까? –

+0

예 동일한 페이지에 있습니다 –

+0

jQuery는 클라이언트 측에서 실행됩니다 ... PHP 실행이 끝난 후 오래되었습니다. –

답변

0

두 가지 오류가 있다고 생각합니다. 1

다음 #amount2update() 함수 외부이었다 갱신 라인입니다.
2 :이 라인은 amount2 += Number($(this).val());
당신은이 입력 ... 아니 value attribute의 값의 입력 값 (또는 수정 된 값)를 원하는 실패합니다.

차이는 다음과 같습니다
<input type="text" class="form-control" id="amount2" name="amount" value="default value">

그리고 $("#amount2").val() 실제 값을 반환합니다 : $(this).attr("val")은과 같이 속성에 정의 된 뭔가를 반환합니다.

주의이 다음 update() 기능을 실행하면 원하는 값이 존재하는 경우 확인을 위해

function update(){ 
    var amount2 = 0; 
    var options = 0; 
    $('#instNum2 option').remove(); 
    $('.check_list').each(function() { 
     if (this.checked) { 
      amount2 += Number($(this).val()); 
      options ++; 
     } 
     $("#amount2").val("R$"+amount2.toFixed(2)); 
     console.log($("#amount2").val()); 
}); 

은 내가 CONSOLE.LOG을 추가했습니다.

편집

코멘트에 따라 PHP에서 이것을 시도 :

if (isset($_POST['amount'])){ 
    echo "$_POST['amount'] is set.<br>"; 
    echo "It's value is: x" . $_POST['amount'] . "x"; // if it is empty, you'll get "xx" echoed. 
}else{ 
    echo "$_POST['amount'] is NOT set.<br>"; 
} 
+0

입력이 완벽하게 잘 작동합니다. 문제는 실제로'echo'나'var_dump'를'$ _POST [ 'amount']'폼 액션에 보내면 아무것도 돌려주지 않을 때입니다. 나는 당신의 변경과 그 작업을 계속했지만,'var_dump' 나'echo'에 빈 상태로 보여 주려고합니다. –

+1

테스트 결과가 :'set.xx'입니다. 그래서 어떻게 든 폼이 입력으로부터 jQuery 값을 얻지 못한다고 가정합니다. . –

+0

정확히 ... 그래서 ... 체크 박스를 체크하면,'update()'함수 콘솔이 뭔가를 기록합니까? –

0

솔루션 대신 입력의 ID를 선택하는, 간단하고, 바로 입력 이름을 선택합니다.

전 :

$("#amount2").val("R$"+amount2.toFixed(2));

후 :

$("input[name=amount]").val("R$"+amount2.toFixed(2));

이 태그 이름을 얻을 것이다 그리고 $_POST가 잘 작동합니다.