2012-06-19 14 views
5

है कि मैं क्या कर रहा हूँ एक रूप JSON का उपयोग कर इस फार्म तो एक संपादित किया जा सकता है और नई JSON ऑब्जेक्ट का उत्पादन पैदा कर रही है। मुझे लगता है कि समस्या आईडी आईडी प्राप्त करने के साथ प्रतीत होता है। कोड मैं एक 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

आपके पास अपने कोड में बहुत सारे टाइपो हैं। 'से',' seralize' – ThiefMaster

+0

यह प्रोग्राम किसी सर्वर पर नहीं है और सर्वर पर उपयोग नहीं किया जाता है। माध्यम? कृपया स्पष्ट रूप से requirement..if यू json तो jQuery ajax जाँच के रूप में डेटा को जमा करना चाहते लिखने {पोस्ट: '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 का उपयोग कर सकते हैं:

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

माफी माँगें मैं इसे AJAX के साथ भेज रहा हूं। – 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();

संबंधित मुद्दे