Web UI: Dinamik Web Formlar

2 Cevap php

Aşağıdaki veri yapısını göz önünde bulundurun:

subject (stdClass)
    topic (stdClass)
        units (int)
        title (varchar 50)
        description (varchar 255)
        start_time (time)
        end_time (time)
    teacher (stdClass)
        first_name (varchar 50)
        last_name (varchar 50)
    students (stdClass[])
        1 (stdClass)
            first_name (varchar 50)
            last_name (varchar 50)
        2 (stdClass)
            first_name (varchar 50)
            last_name (varchar 50)
        3 (stdClass)
            first_name (varchar 50)
            last_name (varchar 50)
    proctor (stdClass)
        first_name (varchar 50)
        last_name (varchar 50)

Ben dinamik web formları içine yukarıda belirtilen veri yapısını nasıl uygulanacağı konusunda bir sorun yaşıyorum. Ben daha kolay son kullanıcı doldurmak-up için yapmak için hangi uygulama tipi emin değilim. Aynı zamanda veri bütünlüğünü korumayı.

Senaryo:

  • A user should be able to provide the data needed to populate the "subject" object in one form. Meaning he will not be redirected to other pages (like a wizard) instead, the sub-forms per student are javascript generated.
  • A user should be able to alter the data in the "subject" object on demand.
  • Birçok öğrenci veya hiçbiri olabilir.
  • Validation per sub-object is required.

Peki nasıl web formları kullanarak bu sunmalıdır?

2 Cevap

Ben düzenlemeler üzerinde durumunu koruyarak, rahatsızlık verici olmayan bir şekilde bilgi büyük bir miktar doldurmak nasıl, benim de projelerinden biri ile benzer bir sorunla karşı karşıya ediyorum.

Teknolojiler zaten, oldukça güzel yani ajax ve json bunu yapmak için var. Benim proje yüzden benim fikir tüm veri giriş formlarını görüntüleyen bir görünüm oluşturmak için ama sonra kaydeder / nesneyi hangi güncelleştirmelerin, ajax ile bir PHP komut dosyası tamamlanan alanları göndererek aşamalı verileri kaydeder PHP ile inşa edilmiştir.

Teorik olarak bazı javascript hoşluk ile çok etkili bir arayüz yapmak mümkün olmalıdır (düşünüyorum tamamlanan bölümler daha sonra düzenleme için açılabilir düğmesi ve slayt kapalı kaydetmek var)

Olası bu kez kurtardı alanları düzenlenebilir cant kez örneğin yazmak uygulayan bir çok modüler tasarım yapmak.

Bu gerçekten pek çok site ile mücadele gibi çok ilginç bir konudur. Ben burada sopa yanlış ucunu yakaladı ve ilgili / yararlı değil bir cevap gönderdi olmadığını söyle

Yinelenen kod azaltmak ve gerçekten bu şık ve yönetilebilir bir MVC tasarım deseni ile bunu uygulamak yapmak. Kullanıcı bir alana yazmaya durur ve boş değil, her zaman sizin bakış gönderme veri var. Alan güncellenmesi gerekir eğer kontrolör onay var ve geri görünümüne doğru bildirimleri göndermek. Eğer şüphesiz veritabanına veri kaydetme olacak gibi modeli çok onun rol oynayacaktır.

Görünüm aslında modüler bir ajax komut dosyası olacak, bu girişe sahiptir ve kısa sürede yeterli değişiklikler yapılmış gibi, değişiklikler için onları izler (garanti için kısmi kaydedin) ajax denetleyiciye veri gönderir ve göstermek için ilgili bölümü çöktü o tamamlanmıştır. Aynı şekilde sayfayı yeniden ve kontrolör daha sonra) = bence Oldukça düzgün doldurur ve doldurulmuş bölümleri çöker ajax görünümü gönderir Postadölesan alanları için model bazı veriler olduğunu görürse.

Edit: yazım hataları sabitleme, MVC Yorum eklendi

kullanılabilirlik kurallarına dayalı, alanlar kendi konu / örneğin dayalı fieldset elemanı olarak gruplandırılmış olmalıdır İlk / vb birlikte Soyad

nedeniyle veri büyük miktarda, bazı Javascript arayüzü adımlarla sayfayı göstermek için kullanılmalıdır (formları tek sayfada yüklü olabilir, ancak JS görüntüleyebilir ve ilgili bölüm / fieldset gizlemek için hizmet verecek). göndermek sonra bir kez veya her bölüm güncellenmektedir sonra alternatif AJAX dava olabilir de tüm verileri göndermek istiyorsunuz ...

fieldsets hakkında iyi şeyler onlar da gruplandırılmış ve birbirinin içine dahil edilebilir.