2012-11-30 3 views
0

if 값으로 'value'값을 전달할 수있는 방법이 있습니까?아약스 호출에서 값을 넘기

이제 1 또는 0을 표시하는 값을 얻습니다. 지금 달성하려는 것은 if 문에서 전달할 수있는 방법입니다. 나는 이런 것을 갖고 싶었다. val = 0이면 true를 반환하고 그렇지 않으면 false를 반환합니다. 그렇지 않으면 거짓을 반환합니다. 나는 ajax 함수를 사용하는 것이 옳은지 확신 할 수 없다. 그러나 당신이 나를 보여줄 수있는 더 좋은 방법이 있다면 그것을 고맙게 생각할 것입니다.

$(function(){ 
     $('#add_product').click(function(){ 
     var i = $('#product_name').val(); 
     param = 'product_name='+i; 
     check_product(param).done(function(value) { 
     var val = value; //value return is 1 or 0 - this is fine 
     }); 
     //val should be past here so that I can determine if I will return true or false 
     if(val == 0){ 
      return true; 
     } else{ 
      return false; 
     } 
     }); 
    }); 

function check_product(param){ 
    return $.ajax({ 
    type : 'POST', 
    data : param, 
    url : baseurl+'cart/check_product_name/' 
}); 
} 

HTML 양식 :

<?php echo form_open_multipart('cart/save_product'); ?> 
<h3>Product Name:</h3> 
<?php echo form_input(array('name' => 'product_name', 'id' => 'product_name'), set_value('product_name')); ?> 
<h3>Price:</h3> 
<?php echo form_input(array('name' => 'price', 'id' => 'price'), set_value('price')); ?> 
<h3>Status:</h3> 
<?php 
$options = array(
    '1' => 'Active', 
    '0' => 'Not Active' 
); 
echo form_dropdown('status', $options); 
?> 
<h3>Short Description:</h3> 
<?php echo form_textarea(array('name' => 'short_description', 'id' => 'short_desc'), set_value('short_description')); ?> 
<h3>Image:</h3> 
<?php echo form_upload('userfile'); ?><br> 
<p class="submit" id="post_submit"><input type="submit" value="Submit" id="add_product" /></p> 
</form> 
+0

정확하게'# add_product'는 무엇이며 반환 된 값을 기준으로 클릭을 방지하거나 방지하지 않아야하는 이유는 무엇입니까? 질문에 해당 요소의 HTML을 포함하면 다른 페이지로 연결되는 앵커 요소입니까? – adeneo

+0

#add_product는 여기에서 가져옵니다. 제출 양식. 나는 질문을 편집하고 원래의 코드보다 더 좋아 보이지 않는 html 양식 –

답변

1

당신은 제품 이름이있는 경우 제출에서 양식을 방지하고 아약스 확인해야합니다, 그리고 AJAX 호출이 완료되면 양식을 제출하나요

+0

을 추가했습니다. –

+0

@IliaG - 조금만 더 설명해 주시겠습니까? if/else 문은 실제 값이있는 성공 콜백 안에 있으며, OP 코드에는 success 콜백 외부에 있고 ajax는 비동기식이므로 그것은 틀림없이 작동하지 않을 것입니다. – adeneo

+0

에는 여전히 동일한 문제 범위가 있습니다. 클릭 이벤트 후 실행될 익명 함수 내에서의'return '은 이미 완료되었습니다. –

관련 문제