builder.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. var builder;
  2. function saveForm() {
  3. /*
  4. $.ajax({
  5. type: "POST",
  6. url: "",
  7. data: JSON.stringify(builder.instance.schema, null, 4),
  8. headers: {"content-id": "form"},
  9. contentType: "application/json",
  10. success: function(res) {
  11. alert("Saved")
  12. },
  13. error: function (request, status, error) {
  14. alert(request.responseText + status + error);
  15. }
  16. });
  17. */
  18. var formElement = document.getElementById('form');
  19. Formio.createForm(formElement, builder.instance.form);
  20. //$("#form").html()
  21. $.ajax({
  22. type: "POST",
  23. url: "",
  24. data: $("#form").children().first().prop('outerHTML'),
  25. headers: {"content-id": "htmlform"},
  26. contentType: "text/plain",
  27. success: function(res) {
  28. alert("Saved")
  29. },
  30. error: function (request, status, error) {
  31. alert(request.responseText + status + error);
  32. }
  33. });
  34. }
  35. $(document).ready(function(){
  36. var jsonElement = document.getElementById('json');
  37. var subJSON = document.getElementById('subjson');
  38. var onForm = function(form) {
  39. form.on('change', function() {
  40. subJSON.innerHTML = '';
  41. subJSON.appendChild(document.createTextNode(JSON.stringify(form.submission, null, 4)));
  42. });
  43. };
  44. var onBuild = function(build) {
  45. jsonElement.innerHTML = '';
  46. jsonElement.appendChild(document.createTextNode(JSON.stringify(builder.instance.schema, null, 4)));
  47. };
  48. var onReady = function() {
  49. var jsonElement = document.getElementById('json');
  50. var formElement = document.getElementById('formio');
  51. builder.instance.on('change', onBuild);
  52. };
  53. var setDisplay = function(display) {
  54. builder.setDisplay(display).then(onReady);
  55. };
  56. $.ajax({
  57. type: "GET",
  58. url: "../json",
  59. dataType: "json",
  60. success: function(json) {
  61. builder = new Formio.FormBuilder(document.getElementById("builder"), json);
  62. builder.instance.ready.then(onReady);
  63. builder.instance.ready.then(onBuild);
  64. },
  65. error: function (request, status, error) {
  66. builder = new Formio.FormBuilder(document.getElementById("builder"), {
  67. display: 'form',
  68. components: []
  69. }, {
  70. baseUrl: 'https://examples.form.io'
  71. });
  72. builder.instance.ready.then(onReady);
  73. }
  74. });
  75. });