希望在互联网关闭时脱机存储表单数据,并在互联网活动时提交

66bbxpm5  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(385)

我有一个用户输入表,我想当互联网关闭,然后数据将继续存储在字段中。如果用户关闭选项卡并再次打开选项卡,则表单与未提交的表单保持相同。我尝试使用localstorage对象来实现这一点,但没有得到结果。我只想如果用户填写表格,如果互联网关闭了,那么表格数据将存储在本地,当互联网在手机上变得活跃,那么用户将能够提交以前填写的表格。
窗体显示窗体中的所有输入字段。javascript代码用于通过ajax提交表单,函数store用于在浏览器中本地存储数据。数据存储在浏览器中,但如果浏览器关闭而不提交,我将无法再次保留该数据。

  1. // magic.js
  2. $(document).ready(function() {
  3. // process the form
  4. $('.form').submit(function(event) {
  5. // get the form data
  6. // there are many ways to get this data using jQuery (you can use the class or id also)
  7. alert("data is here")
  8. var formData = {
  9. 'name': $('input[name=name]').val(),
  10. 'email': $('input[name=email]').val(),
  11. 'contact': $('input[name=contact]').val(),
  12. 'aadhar_card_number': $('input[name=aadhar_card_number]').val(),
  13. 'aadhar_card_image': $('input[name=file_array[]]').val(),
  14. 'gst_number': $('input[name=gst_number]').val(),
  15. 'gst_image': $('input[name=file_array[]]').val(),
  16. 'tin_number': $('input[name=tin_number]').val(),
  17. 'tin_image': $('input[name=file_array[]]').val(),
  18. 'pan_number': $('input[name=pan_number]').val(),
  19. 'pan_image': $('input[name=file_array[]]').val(),
  20. 'vat_number': $('input[name=vat_number]').val(),
  21. 'vat_image': $('input[name=file_array[]]').val(),
  22. };
  23. console.log("name is here--" + name)
  24. // process the form
  25. $.ajax({
  26. type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
  27. url: 'form_upload.php', // the url where we want to POST
  28. data: formData, // our data object
  29. dataType: 'json', // what type of data do we expect back from the server
  30. encode: true
  31. })
  32. // using the done promise callback
  33. .done(function(data) {
  34. // log data to the console so we can see
  35. console.log(data);
  36. // here we will handle errors and validation messages
  37. });
  38. alert("Submitted Successfully")
  39. // stop the form from submitting the normal way and refreshing the page
  40. event.preventDefault();
  41. });
  42. });
  43. function store() {
  44. var inputRetailerName = document.getElementById("name");
  45. var inputRetailerEmail = document.getElementById("email");
  46. var inputRetailerNumber = document.getElementById("number");
  47. var inputAadharNumber = document.getElementById("aadhar_number");
  48. var inputAadharImage = document.getElementById("aadhar_image");
  49. var inputGSTNumber = document.getElementById("gst_number");
  50. var inputGSTImage = document.getElementById("gst_image");
  51. var inputTINNumber = document.getElementById("tin_number");
  52. var inputTINImage = document.getElementById("tin_image");
  53. var inputPANNumber = document.getElementById("pan_number");
  54. var inputPANImage = document.getElementById("pan_image");
  55. var inputVATNumber = document.getElementById("vat_number");
  56. var inputVATImage = document.getElementById("vat_image");
  57. localStorage.setItem("name", inputRetailerName.value);
  58. localStorage.setItem("email", inputRetailerEmail.value);
  59. localStorage.setItem("number", inputRetailerNumber.value);
  60. localStorage.setItem("aadhar_number", inputAadharNumber.value);
  61. localStorage.setItem("aadhar_image", inputAadharImage.value);
  62. localStorage.setItem("gst_number", inputGSTNumber.value);
  63. localStorage.setItem("gst_image", inputGSTImage.value);
  64. localStorage.setItem("tin_number", inputTINNumber.value);
  65. localStorage.setItem("tin_image", inputTINImage.value);
  66. localStorage.setItem("pan_number", inputPANNumber.value);
  67. localStorage.setItem("pan_image", inputPANImage.value);
  68. localStorage.setItem("vat_number", inputVATNumber.value);
  69. localStorage.setItem("vat_image", inputVATImage.value);
  70. retailerName = localStorage.getItem('name');
  71. alert(inputRetailerName.innerHTML = retailerName);
  72. retailerEmail = localStorage.getItem('email');
  73. inputRetailerEmail.innerHTML = retailerEmail;
  74. retailerNumber = localStorage.getItem('number');
  75. inputRetailerNumber.innerHTML = retailerNumber;
  76. retailerAadharNumber = localStorage.getItem('aadhar_number');
  77. inputAadharNumber.innerHTML = retailerAadharNumber;
  78. retailerAadharImage = localStorage.getItem('aadhar_image');
  79. inputAadharImage.innerHTML = retailerAadharImage;
  80. retailerGSTNumber = localStorage.getItem('gst_number');
  81. inputGSTNumber.innerHTML = retailerGSTNumber;
  82. retailerGSTImage = localStorage.getItem('gst_image');
  83. inputGSTImage.innerHTML = retailerGSTImage;
  84. retailerTINNumber = localStorage.getItem('tin_number');
  85. inputTINNumber.innerHTML = retailerTINNumber;
  86. retailerTINImage = localStorage.getItem('tin_image');
  87. inputTINImage.innerHTML = retailerTINImage;
  88. retailerPANNummber = localStorage.getItem('pan_number');
  89. inputPANNumber.innerHTML = retailerPANNummber;
  90. retailerPANImage = localStorage.getItem('pan_image');
  91. inputPANImage.innerHTML = retailerPANImage;
  92. retailerVATNumber = localStorage.getItem('vat_number');
  93. inputVATNumber.innerHTML = retailerVATNumber;
  94. retailerVATImage = localStorage.getItem('vat_image');
  95. inputVATImage.innerHTML = retailerVATImage;
  96. }
  1. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  2. <body>
  3. <div class="container">
  4. <div class="row main">
  5. <div class="main-login main-center">
  6. <h5>Fill all the details</h5>
  7. <form class="form" method="post" enctype="multipart/form-data">
  8. <div class="form-group">
  9. <label for="name" class="cols-sm-2 control-label">Retailer Name</label>
  10. <div class="cols-sm-10">
  11. <div class="input-group">
  12. <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span>
  13. <input type="text" class="form-control" name="name" id="name" placeholder="Enter your Name" />
  14. </div>
  15. </div>
  16. </div>
  17. <div class="form-group">
  18. <label for="email" class="cols-sm-2 control-label">Retailer Email</label>
  19. <div class="cols-sm-10">
  20. <div class="input-group">
  21. <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
  22. <input type="text" class="form-control" name="email" id="email" placeholder="Enter your Email" />
  23. </div>
  24. </div>
  25. </div>
  26. <div class="form-group">
  27. <label for="contact" class="cols-sm-2 control-label">Contact Number</label>
  28. <div class="cols-sm-10">
  29. <div class="input-group">
  30. <span class="input-group-addon"><i class="fa fa-users fa" aria-hidden="true"></i></span>
  31. <input type="number" class="form-control" name="contact" id="number" placeholder="Enter your Contact Number" />
  32. </div>
  33. </div>
  34. </div>
  35. <div class="form-group">
  36. <label for="aadhar" class="cols-sm-2 control-label">Aadhar Card Number</label>
  37. <div class="cols-sm-10">
  38. <div class="input-group">
  39. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  40. <input type="text" class="form-control" name="aadhar_card_number" id="aadhar_number" placeholder="Enter Your Aadhar Card Number" />
  41. </div>
  42. </div>
  43. </div>
  44. <div class="form-group">
  45. <label for="aadhar" class="cols-sm-2 control-label">Aadhar Card Image</label>
  46. <div class="cols-sm-10">
  47. <div class="input-group">
  48. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  49. <input type="file" class="form-control" name="file_array[]" id="aadhar_image" accept="image/*" capture placeholder="Upload Your Aadhar Card" />
  50. </div>
  51. </div>
  52. </div>
  53. <div class="form-group">
  54. <label for="aadhar" class="cols-sm-2 control-label">G.S.T Number</label>
  55. <div class="cols-sm-10">
  56. <div class="input-group">
  57. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  58. <input type="text" class="form-control" name="gst_number" id="gst_number" placeholder="Enter Your G.S.T Number" />
  59. </div>
  60. </div>
  61. </div>
  62. <div class="form-group">
  63. <label for="aadhar" class="cols-sm-2 control-label">G.S.T Image</label>
  64. <div class="cols-sm-10">
  65. <div class="input-group">
  66. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  67. <input type="file" class="form-control" name="file_array[]" id="gst_image" accept="image/*" capture placeholder="Upload Your G.S.T Card" />
  68. </div>
  69. </div>
  70. </div>
  71. <div class="form-group">
  72. <label for="aadhar" class="cols-sm-2 control-label">T.I.N Number</label>
  73. <div class="cols-sm-10">
  74. <div class="input-group">
  75. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  76. <input type="text" class="form-control" name="tin_number" id="tin_number" placeholder="Enter Your Tin Number" />
  77. </div>
  78. </div>
  79. </div>
  80. <div class="form-group">
  81. <label for="aadhar" class="cols-sm-2 control-label">T.I.N Image</label>
  82. <div class="cols-sm-10">
  83. <div class="input-group">
  84. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  85. <input type="file" class="form-control" name="file_array[]" id="tin_image" accept="image/*" capture placeholder="Upload Your T.I.N Card" />
  86. </div>
  87. </div>
  88. </div>
  89. <div class="form-group">
  90. <label for="aadhar" class="cols-sm-2 control-label">PAN Number</label>
  91. <div class="cols-sm-10">
  92. <div class="input-group">
  93. <span class="input-group-addon"><i class="fa fa-address-card-o" aria-hidden="true"></i></span>
  94. <input type="text" class="form-control" name="pan_number" id="pan_number" placeholder="Enter Your PAN Card Number" />
  95. </div>
  96. </div>
  97. </div>
  98. <div class="form-group">
  99. <label for="aadhar" class="cols-sm-2 control-label">PAN Image</label>
  100. <div class="cols-sm-10">
  101. <div class="input-group">
  102. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  103. <input type="file" class="form-control" name="file_array[]" id="pan_image" accept="image/*" capture placeholder="Upload Your PAN Card" />
  104. </div>
  105. </div>
  106. </div>
  107. <div class="form-group">
  108. <label for="aadhar" class="cols-sm-2 control-label">VAT No</label>
  109. <div class="cols-sm-10">
  110. <div class="input-group">
  111. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  112. <input type="text" class="form-control" name="vat_number" id="vat_number" placeholder="Enter Your Aadhar Card Number" />
  113. </div>
  114. </div>
  115. </div>
  116. <div class="form-group">
  117. <label for="aadhar" class="cols-sm-2 control-label">VAT Card Image</label>
  118. <div class="cols-sm-10">
  119. <div class="input-group">
  120. <span class="input-group-addon"><i class="fa fa-cloud-upload" aria-hidden="true"></i></span>
  121. <input type="file" class="form-control" name="file_array[]" id="vat_card_image" accept="image/*" capture placeholder="Upload Your VAT Card" />
  122. </div>
  123. </div>
  124. </div>
  125. <div class="form-group ">
  126. <input type="submit" value="Submit" id="button" onclick="store()" name="submit" class="btn btn-primary btn-lg btn-block login-button" />
  127. </div>
  128. </form>
  129. </div>
  130. </div>
  131. </div>
  132. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  133. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  134. <script type="text/javascript" src="js/store.js"></script>
  135. <script type="text/javascript" src="js/submit.js"></script>
  136. </body>
  137. <!-- begin snippet: js hide: false console: true babel: false -->
bjg7j2ky

bjg7j2ky1#

尝试使用lokidb(内存数据库)来持久化数据。您可以将数据持久化到本地存储、索引数据库、会话存储或文件系统的任何位置。http://lokijs.org/#/docs

相关问题