Wedding Invitation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rsvp-modal.blade.php 3.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <dialog id="rsvp" class="modal">
  2. <div class="modal-box w-11/12 max-w-5xl">
  3. <h3 class="text-lg font-bold">RSVP</h3>
  4. <form id="rsvpForm">
  5. @csrf
  6. <label class="form-control w-full max-w-xs">
  7. <div class="label">
  8. <span class="label-text">Nama</span>
  9. </div>
  10. <input type="text" name="name" placeholder="Taip disini" class="input input-bordered input-sm input-accent w-full max-w-xs" />
  11. </label>
  12. <label class="form-control w-full max-w-xs">
  13. <div class="label">
  14. <span class="label-text">Bilangan</span>
  15. </div>
  16. <input type="number" name="member" placeholder="Taip disini" class="input input-bordered input-sm input-accent w-full max-w-xs" />
  17. </label>
  18. <label class="form-control w-full max-w-xs">
  19. <div class="label">
  20. <span class="label-text">No. Tel</span>
  21. </div>
  22. <input type="number" name="phone" placeholder="Taip disini" class="input input-bordered input-sm input-accent w-full max-w-xs" />
  23. </label>
  24. </form>
  25. <div class="modal-action">
  26. <form method="dialog" id="closeRsvpForm"></form>
  27. <button type="button" class="btn bg-babybluedark" id="submitRsvpForm">Hantar</button>
  28. <button type="button" class="btn" id="submitCloseRsvpForm">Tutup</button>
  29. </div>
  30. </div>
  31. </dialog>
  32. @push('script')
  33. <script>
  34. $(document).ready(function() {
  35. $('#submitCloseRsvpForm').click(function(e) {
  36. $('#closeRsvpForm').submit();
  37. });
  38. $('#submitRsvpForm').click(function(e) {
  39. e.preventDefault();
  40. var formData = $('#rsvpForm').serialize();
  41. $.ajax({
  42. url: '{{ route('rsvp.save') }}',
  43. type: 'POST',
  44. data: formData,
  45. success: function(response) {
  46. $('#closeRsvpForm').submit();
  47. var alertContainer = $('.alert-success');
  48. alertContainer.find('span').text(response.message); // Set message text
  49. alertContainer.fadeIn().removeClass('hidden'); // Show the alert
  50. setTimeout(function() {
  51. alertContainer.fadeOut().addClass('hidden'); // Hide the alert after 5 seconds
  52. }, 3000);
  53. },
  54. error: function(xhr, status, error) {
  55. console.error('Error submitting form:', error);
  56. }
  57. });
  58. });
  59. });
  60. function showSuccessMessage(message) {
  61. // Create a dynamic success message element
  62. var successAlert = $('<div class="bg-green-100 border border-green-400 text-green-700 px-4 py-3 rounded relative" role="alert">' +
  63. '<span class="block sm:inline">' + message + '</span>' +
  64. '</div>');
  65. // Append the message to a suitable container in your HTML (e.g., modal, form, or body)
  66. $('#alert-success').append(successAlert);
  67. // Automatically remove the message after 3 seconds
  68. setTimeout(function() {
  69. successAlert.fadeOut('slow', function() {
  70. $(this).remove();
  71. });
  72. }, 3000); // 3 seconds
  73. }
  74. </script>
  75. @endpush