2014-05-23 2 views
0

자바 스크립트 - $. post - popup 스크립트에서 도와주세요. 아래 스크립트를 디버깅하려고했지만 기능 (데이터) 안에 들어 가지 않는다는 것을 알았습니다 ... 문제가 될 수있는 것은 무엇입니까? 답장을 보내 주셔서 감사합니다. 여기

내 코드입니다 :

$(function() { 
    $('#survey').dialog({ 
     bgiframe: true, 
     autoOpen: false, 
     modal: true, 
     width: 500, 
     resizable: false, 
     buttons: { 
      Submit: function() { 
       if ($("input[name='elso']:checked").val() !== undefined && $("input[name='masodik']:checked").val() !== undefined && $("input[name='harmadik']:checked").val() !== undefined && $("input[name='negyedik']:checked").val() !== undefined) { 
        setCookie('POPsurvey', 'POPsurvey', 30); 
        $.post("process_survey.php", $("#popup_survey").serialize(), alert("hsgh"), 

        function (data) { 

         if (data.db_check == 'fail') { 
          $("#error_message").html("<p>Adatbázisunk nem elérhető. Kérjük, próbálja meg újra.</p>"); 
         } else { 
          $('#survey').dialog('close'); 
          $('#survey_thanks').dialog('open'); 
         } 
        }, "json"); 
       } else { 
        $("#error_message").html("<p>Kérjük, minden kérdésre adjon választ.</p>"); 
       } 
      } 
     } 
    }); 
}); 

답변

0

당신은 내가 테스트를 위해 경고를했다 ... 그것은 예전, 이런 식

  $.post("process_survey.php", $("#popup_survey").serialize()).done(function (data) { 

        if (data.db_check == 'fail') { 
         $("#error_message").html("<p>Adatbázisunk nem elérhető. Kérjük, próbálja meg újra.</p>"); 
        } else { 
         $('#survey').dialog('close'); 
         $('#survey_thanks').dialog('open'); 
        } 
       }); 
+1

답장을 보내 주셔서 감사합니다 .. 아직 안 간다 – Johnnygirl

+0

'$ .post ("process_survey.php", $ ("# popup_survey")) serialize() .always (경고 ("완료")) })'경고가 왔는지 확인해주세요. 콘솔에 오류가 있거나 통화가 완료되지 않았습니다. – Kushal

+0

자바 스크립트를 죽였습니다. 경고음이 들리지 않았습니다. 어떻게 내 콘솔을 찾을 수 있습니까? 통화 오류? – Johnnygirl

0
$(function() { 
$('#survey').dialog({ 
    bgiframe: true, 
    autoOpen: false, 
    modal: true, 
    width: 500, 
    resizable: false, 
    buttons: { 
     Submit: function() { 
      if ($("input[name='elso']:checked").val() !== undefined && $("input[name='masodik']:checked").val() !== undefined && $("input[name='harmadik']:checked").val() !== undefined && $("input[name='negyedik']:checked").val() !== undefined) { 
       setCookie('POPsurvey', 'POPsurvey', 30); 
       $.post("process_survey.php", $("#popup_survey").serialize(), 

       function (data) { 

        if (data.db_check == 'fail') { 
         $("#error_message").html("<p>Adatbázisunk nem elérhető. Kérjük, próbálja meg újra.</p>"); 
        } else { 
         $('#survey').dialog('close'); 
         $('#survey_thanks').dialog('open'); 
        } 
       }, "json"); 
      } else { 
       $("#error_message").html("<p>Kérjük, minden kérdésre adjon választ.</p>"); 
      } 
     } 
    } 
}); 

}); 후

+0

예를 할 수 있습니다. 아직도 경고없이 작동하지 않습니다. – Johnnygirl

0

이 문제는 당신의 직렬화에이

$.post("process_survey.php", $("#popup_survey").serialize(), 
function (data) { 
    if (data.db_check == 'fail') { 
    $("#error_message").html("<p>Adatbázisunk nem elérhető. Kérjük, próbálja meg újra.</p>"); 
    } else { 
    $('#survey').dialog('close'); 
    $('#survey_thanks').dialog('open'); 
    } 
}, "json"); 
0

같은 포스트 함수의 세 번째 매개 변수로 그 경고를 제거하십시오 직렬화해야

기능 (데이터) 코드에 이것을 추가 serializeObject를 사용하십시오 (직렬화하지 않음)

$.fn.serializeObject = function(){ 
var o = {}; 
var a = this.serializeArray(); 
$.each(a, function() { 
    if (o[this.name]) { 
     if (!o[this.name].push) { 
      o[this.name] = [o[this.name]]; 
     } 
     o[this.name].push(this.value || ''); 
    } else { 
     o[this.name] = this.value || ''; 
    } 
}); 
return o; 

}};

+0

이것을 코드에 추가하고 $ ("# popup_survey"). serializeObject()를 사용했습니다. 그것은 작동하지 않으며 폼을 새로 고침하지 않습니다. 페이지를 새로 고친 후에도 이전에 선택한 데이터가 표시됩니다. – Johnnygirl

관련 문제