항목을 즐겨 찾기에 추가하고 삭제할 수있는 양식이 있습니다. 항목이 즐겨 찾기에 추가하면 내가 확인하고, 여기에제출 양식 전환 - jQuery (Ajax)
@if($checkIfFavIsAdded == 0)
{!! Form::open(['id' => 'ajax-form-add', 'style' => 'float:right']) !!}
...
<button class="fa fa-star-o fa-2x" tool-tip-toggle="tooltip-demo" id="addFavbutton" title="Add item to favorites" style="color:#fd8809"></button>
{!! Form::close() !!}
@else
{!! Form::open(['id' => 'ajax-form-delete', 'style' => 'float:right']) !!}
...
<button class="fa fa-star-o fa-2x" tool-tip-toggle="tooltip-demo" id="addFavbutton" title="Delete item from favorites" style="color:grey"></button>
{!! Form::close() !!}
@endif
을, 그렇다면, 해당 양식을 표시해야합니다
는의 추가 및 삭제이 양식입니다 가정 해 봅시다. 페이지를 다시로드 할 때 작동하지만 Ajax에서 어떻게 수행 할 수 있습니까? 내가 숨기고 표시하려고했지만 성공하지 못했습니다. 양식을 숨기고 다른 양식을 표시하지 않습니다.<script type="text/javascript">
$("#ajax-form-add").submit(function(event) {
event.preventDefault();
var form = $(this);
$.ajax({
type: "post",
url: "{{ url('addFavorites') }}",
dataType: "json",
data: form.serialize(),
success: function(data){
$("#ajax-form-add").hide();
$("#ajax-form-delete").show();
},
error: function(data){
swal("Error!", "error")
},
complete: function (data) {
}
});
});
</script>
<script type="text/javascript">
$("#ajax-form-delete").submit(function(event) {
event.preventDefault();
var form = $(this);
$.ajax({
type: "post",
url: "{{ url('deleteFavorites') }}",
dataType: "json",
data: form.serialize(),
success: function(data){
$("#ajax-form-delete").hide();
$("#ajax-form-show").show();
},
error: function(data){
swal("Error!", "Item is not available!", "error")
}
});
});
</script>
그래, 나쁘다. 하지만 아무것도 바뀌지 않습니다. 여전히 다른 형태는 보이지 않습니다. @ Joe의 주석을 따르고 if 및 else 문에 두 형식을 모두 포함하려고 시도하지만 첫 번째 문은 표시되어야하고 다른 문은 숨겨야합니다 (반대의 경우도 마찬가지입니다). 아니면 아약스 응답에 다른 양식을 렌더링하려고합니다. – harunB10
@ harunB10 진짜 문제는 if와 else 조건 안에서 폼을 짜내는 것입니다. 페이지가 렌더링 될 때 오직 하나의 양식 만 존재하고 두 번째 양식이 없기 때문에 Ajax를 실행하면 아무 것도 표시되지 않습니다. 그것이 의미가 있기를 바랍니다. –
예, 이해합니다. 이제'@if ($ checkIfFavIsAdded == 0)'폼을 추가하고 숨김 폼에 표시 형식을 설정하려고합니다. – harunB10