내가 무엇을 하든지간에이 양식은 AJAX를 통해 전혀 작동하지 않습니다. 사용자가 크기를 선택하기 위해 클릭하는 4 개의 버튼 (이 경우 3 개)과이 버튼의 값이 양식 처리에 사용됩니다. 또한 정상적으로 있습니다 .. #is_ajax 숨겨진 필드 (작동시)를 저하됩니다이 AJAX 양식이 왜 작동하지 않습니까?
HTML :
<form action="../bin/func/actions/add.action.php" method="post" id="addToCart">
<input type="hidden" name="is_ajax" value="false" id="is_ajax">
<input type="hidden" name="action" value="add">
<button class="add-size" value="S">S</button>
<span class="no-stock">M</span>
<button class="add-size" value="L">L</button>
<button class="add-size" value="XL">XL</button>
</form>
<div id="cart-success"></div>
jQuery를 :
$(function() {
$(".add-size").click(function() {
// first off set hidden variable to TRUE so we know AJAX is playing ball
$("#is_ajax").val(true);
// serialise the form data
var dataString = 'size=' + $(this).val() + '&is_ajax=' + $("#is_ajax").val();
// slide down the small cart
$("#cart-expand").slideDown(200);
$("#cart-thumb a").toggle();
// let's do this..
$.ajax({
type: "POST",
url: "../bin/func/actions/add.action.php",
dataType: 'html',
data: dataString,
success: function(data){
$("#cart-success").html(data);
return false;
}
});
});
});
PHP (감수)
<?php
if($_POST['is_ajax'] == 'true')
echo 'true';
else
echo 'false';
?>
내가 무엇을해도 기본 양식 작업이 항상 시작되는 것처럼 보이며 페이지가 곧바로 페이지로 리디렉션됩니다. PHP 페이지. $ .ajax() 부분을 제거하면 나머지 부분이 작동합니다. 거기에 뭔가 잘못된 것 같습니다.
또한 나는 $ ("# form-ID")를 사용하지 않고 있다고 생각하지 않습니다. submit() ... 더 일반적인 방법을 시도했지만 여전히 작동하지 않습니다. . 내가
alert(dataString);
return false;
를 넣으면 내가 모두가 예상대로 행동하는 datastring를 생성 한 후, 우리는 아약스 비트에 도착 후에는 모든 잘못 만 그리고 jQuery를 중퇴 것 같다 단지 정상적인 게시물을 HTML에있는 주소로 제출하십시오.
도움말! 감사.
bish bash 당신은 영웅입니다. 그것이 나를 허용 할 때 당신에게 사랑을 줄 것입니다. – artparks
'event.preventDefault()'가 기본 동작을 막는 더 좋은 방법이 아닌가? –
@ClementHerreman 예입니다. – Raynos