2017-05-12 3 views
0

HTML 양식의 양식 선택 입력 값을 제출하지 않고 PHP 파일로 전달하려고합니다.양식 선택 입력 값을 제출하지 않고 AJAX를 사용하여 PHP 파일로 전달하는 방법은 무엇입니까?

어떻게하면됩니까?

내 형태 :

<div class="form-group"> 
<label>Provincia</label> 
<select class="form-control" name="userDomicilioProvincia"> 
<option id ="userDomicilioProvincia" name="userDomicilioProvincia"> </option> 
<option value="Capital Federal">Capital Federal</option> 
<option value="Gran Buenos Aires">Gran Buenos Aires</option> 
<option value="Buenos Aires">Provincia de Buenos Aires</option> 
</select> 
</div> 

그리고 여기 내 아약스 호출입니다 :이 브라우저의 콘솔을 사용하여 테스트하기 위해 노력하고있어

$('#userDomicilioProvincia').change(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "/ubicacion.php", 
     provincia: {text:$(this).val()} 
    }); 
}); 

, 내가 양식에있어 하나의 옵션을 선택 콘솔에서는 var Provincia을 입력하고 undefined을 반환합니다.

어떻게하면됩니까?

+0

'$ ("# userDomicilioProvincia")는'수단 '속성 ID = "userDomicilioProvincia' '를 가진 요소를 선택한다. 이름 속성이 설정된 선택 요소를 가져 오려면이 선택기를 사용하십시오.'$ ('select [name = "userDomicilioProvincia"]')' – RafH

+0

그러나'id' ​​속성을'select' 요소를 찾으려면 (선택) 태그를 사용하는 대신 'id' 셀렉터가 훨씬 빠릅니다. 선택기 성능 [여기]에 대한 내용을 읽을 수 있습니다 (https://jsperf.com/id-vs-class-vs-tag-selectors/2) –

답변

3

거의 다 왔어.

id 특성을 에 넣고 option 대신에 넣으십시오.

$(document).ready(function(){ 
 
    $('#userDomicilioProvincia').change(function(){ 
 
     $.ajax({ 
 
      type: "POST", 
 
      url: "/ubicacion.php", 
 
      data: { provincia: $(this).val() } 
 
     }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <label>Provincia</label> 
 
    <select id="userDomicilioProvincia" class="form-control" name="userDomicilioProvincia"> 
 
     <option> </option> 
 
     <option value="Capital Federal">Capital Federal</option> 
 
     <option value="Gran Buenos Aires">Gran Buenos Aires</option> 
 
     <option value="Buenos Aires">Provincia de Buenos Aires</option> 
 
    </select> 
 
</div>

+0

답장을 보내 주셔서 감사합니다! PHP에서 그 값에 어떻게 액세스 할 수 있습니까? 나는'var_dump ($ _ POST [ 'provincia']);와 함께 노력 중이며 null입니다. – Rosamunda

+1

@Rosamunda 죄송합니다. jQuery 코드에 다른 실수가 있습니다. 나는 그것을 바로 잡았다. 나는'provincia : {text : $ (this)} .val()}'을'data : {provincia : $ (this)} .val()} '으로 변경했습니다. 데이터는 서버 (PHP)에'POST '로 보내는 자바 스크립트 객체입니다. 다시 시도해보십시오.'var_dump ($ _ POST [ 'provincia']);가 지금 작동해야합니다. –

+0

대단히 감사합니다 !! – Rosamunda