2012-06-19 2 views
5

JSON을 사용하여 양식을 만드는 중입니다.이 양식을 편집하여 새 JSON 객체를 생성 할 수 있습니다. 내가 겪고있는 문제는 양식 ID를 얻는 것으로 보인다. 내가 JSON 개체를 반환하기 위해 사용하고 코드는 다음과 같습니다JSON 객체로 양식을 제출하는 방법

form = document.forms[0]; 
$.fn.serializeObject = function() 
{ 
    alert("start serializeObject"); 
    var o = {}; 
    var a = this.seralizeArray(); 
    $.each(a, function(){ 
     if (o[this.name] !== undefined) { 
      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; 
    alert(o); 
}; 

$(function() { 
    alert("here"); 
    form.submit(function(){ 
     result.append(JSON.stringify(form.serializeObject())); 
     return false; 
    }); 
}); 

는 새로 고침 pageI 이유를 잘 모르겠습니다의이. 이 프로그램은 서버에 없으며 서버에서 사용되지 않습니다. 이것은 내가 말하길 모든 것이 로컬 컴퓨터에서 로컬로 실행될 뿐이며 apache2 설정은 없습니다.

감사합니다.

+1

코드에 오타가 많이 있습니다. 'from','seralize' – ThiefMaster

+0

이 프로그램은 서버에 없으며 서버에서 사용되지 않습니다. 방법? 요구 사항을 분명히 적어주세요. json으로 데이터를 제출하고 싶은 경우 jquery ajax {post : 'json'} 예를 확인하십시오. – Rajesh

+0

수정 된 질문 – Sagarmichael

답변

9

코드는 매우 쉽게 작성할 수 있습니다. 이것은 내가 그것을 할 방법은 다음과 같습니다

아약스 :

$('#formID').on('submit',function() { 
    $.ajax({ 
     url: 'submit.php', 
     cache: false, 
     type: 'POST', 
     data : $('#formID').serialize(), 
     success: function(json) { 
      alert('all done'); 
     } 
    }); 
}); 

당신은 아약스와 함께 전송하지 않는 경우, 당신은 왜 이런 짓을 했을까?) (

<?php 
$json_object = json_decode($_POST); 
?> 
+0

사과 아약스로 보내 드리겠습니다. – Sagarmichael

+0

첫 번째 코드를 사용해보십시오. 나는 그것이 당신을 위해 훨씬 더 쉽게 만들 것이라고 생각합니다. – OptimusCrime

2
$('#formID').on('submit',function (e) { 
    e.preventDefault(); 
    $.ajax({ 
     url: 'submit.php', 
     cache: false, 
     type: 'POST', 
     data : $('#formID').serialize(), 
     success: function(json) { 
     alert('all done'); 
    } 
    }); 
}); 

당신은 리디렉션 또는 사용 e.preventDefault를 새로 고쳐지지합니다; 단순히 양식을 제출하는 경우는 다음과 같이 PHP를 사용하여 작업을 수행 할 수 있습니다

관련 문제