2010-05-13 15 views
5

Buduję dynamiczną formę do edycji danych w obiekcie Json. Po pierwsze, jeśli coś takiego istnieje, daj mi znać. Wolałbym go nie budować, ale wielokrotnie szukałem narzędzia i znalazłem tylko takie struktury, które wymagają wpisywania cudzysłowów. Byłbym szczęśliwy, traktując wszystkie wartości jako łańcuchy. Ta funkcja edycji jest dla użytkowników końcowych, więc musi być łatwa i nie zastraszająca.Wiązanie zagnieżdżonej wartości obiektu Json do pola formularza

Do tej pory mam kod, który generuje zagnieżdżone tabele do reprezentowania obiektu Json. Dla każdej wartości wyświetlam pole formularza. Chciałbym powiązać pole formularza z powiązaną zagnieżdżoną wartością json. Gdybym mógł przechowywać odniesienie do wartości json, zbudowałbym tablicę odniesień do każdej wartości w drzewie obiektów Json. Nie znalazłem sposobu, aby to zrobić z javascript.

Ostatnim podejściem będzie przechodzenie przez stół po wprowadzeniu zmian. Wolałbym aktualizację dynamiczną, ale pojedyncze zgłoszenie byłoby lepsze niż nic.

Wszelkie pomysły?

// the json in files nests only a few levels. Here is the format of a simple case, 
{ 
"researcherid_id":{ 
    "id_key":"researcherid_id", 
    "description":"Use to retrieve bibliometric data", 
    "url_template" :[ 
    { 
     "name": "Author Detail", 
     "url": "http://www.researcherid.com/rid/${key}" 
    } 
    ]   
} 
} 

$.get('file.json',make_json_form); 

function make_json_form(response) { 

    dataset = $.secureEvalJSON(response); 
    // iterate through the object and generate form field for string values. 

} 

// Then after the form is edited I want to display the raw updated json (then I want to save it but that is for another thread) 

// now I iterate through the form and construct the json object 
// I would rather have the dataset object var updated on focus out after each edit. 

function show_json(form_id){ 
var r = {}; 
var el = document.getElementById(form_id); 
table_to_json(r,el,null); 
$('body').html(formattedJSON(r)); 
} 
+2

, więc chcesz wygenerować formularz na podstawie obiektu i powiązać pola formularza z właściwościami obiektu? jak wygląda struktura obiektu? JSON jest po prostu reprezentacją łańcuchową, a łatwiej ci będzie radzić sobie z obiektami JavaScript, aw razie potrzeby serializować je z JSONem. – Anurag

Odpowiedz

0

O wiele prostszym sposobem byłoby zaakceptowanie przesłania formularza i wygenerowanie danych w formacie JSON. W ten sposób nie ma potrzeby wiązania zmiennych.

Powiązane problemy