I worked on a complex javascript application that comprised of many checkboxes, textfields, dropdowns and multiple steps. The data needed to be stored in a database and since I didn't use Drupal's Ajax, I needed to pass the data asynchronously elsewhere for that to be handled.