2012-06-19 11 views
5

quello che sto facendo è la creazione di un form utilizzando JSON questo modulo può quindi essere modificato e produrre un nuovo oggetto JSON. Il problema che sto avendo sembra essere quello di ottenere l'id del modulo. Il codice che sto usando per restituire un oggetto JSON è:come presentare forma come oggetto 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; 
    }); 
}); 

Questo è solo l'aggiornamento altoHo Non so perché. Questo programma non è su un server e non può essere utilizzato su un server. da questo voglio dire che è solo ogni sta per essere eseguito a livello locale su un computer locale, senza alcuna configurazione apache2.

Grazie.

+1

Hai un sacco di errori di battitura nel codice. 'from',' seralize' – ThiefMaster

+0

Questo programma non è su un server e non può essere utilizzato su un server. si intende? Si prega di scrivere chiaramente il requirement..if u desidera inviare i dati come JSON quindi controllare jquery ajax {messaggio: 'json'} esempio .. – Rajesh

+0

domanda a cura – Sagarmichael

risposta

9

codice è possibile essere scritto abbastanza facile. Questo è come lo faccio:

Ajax:

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

Se non sta inviando con l'Ajax, perché dovresti farlo? Se siete semplicemente inviando il modulo, è possibile farlo utilizzando PHP come questo:

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

Scuse Lo mando con ajax. – Sagarmichael

+0

Prova quindi il mio primo codice. Penso che renderà le cose molto più facili per te. – 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'); 
    } 
    }); 
}); 

se non si vuole reindirizzare o aggiornare uso e.preventDefault();

Problemi correlati