@@ -113,32 +113,51 @@ <h2>Feedback</h2>
113113 < script >
114114 // Feedback JS
115115 document . getElementById ( "feedback-form" ) . addEventListener ( "submit" , function ( event ) {
116- event . preventDefault ( ) ;
117-
118- var name = document . getElementById ( "name" ) . value ;
119- var email = document . getElementById ( "email" ) . value ;
120- var comments = document . getElementById ( "comments" ) . value ;
121- var rating = document . querySelector ( 'input[name="rating"]:checked' ) ;
122-
123- if ( ! rating ) {
124- var errorMessage = document . getElementById ( "error-message" ) ;
125- errorMessage . innerText = "Please select a Rating!" ;
126- errorMessage . style . display = "block" ;
127- setTimeout ( function ( ) {
128- errorMessage . style . display = "none" ;
129- } , 3000 ) ;
130- return ;
131- }
132-
133- var messageElement = document . getElementById ( "message" ) ;
134- messageElement . innerText = "Thank you for your feedback!" ;
135- messageElement . style . display = "block" ;
136-
137- setTimeout ( function ( ) {
138- messageElement . style . display = "none" ;
139- document . getElementById ( "feedback-form" ) . reset ( ) ;
140- } , 3000 ) ;
141- } ) ;
116+ event . preventDefault ( ) ;
117+
118+ if ( ! document . querySelector ( 'input[name="rating"]:checked' ) ) {
119+ var errorMessage = document . getElementById ( "error-message" ) ;
120+ errorMessage . innerText = "Please select a rating!" ;
121+ errorMessage . style . display = "block" ;
122+ setTimeout ( function ( ) {
123+ errorMessage . style . display = "none" ;
124+ } , 3000 ) ;
125+ return ;
126+ }
127+ const formData = {
128+ name : document . getElementById ( "name" ) . value ,
129+ email : document . getElementById ( "email" ) . value ,
130+ comments : document . getElementById ( "comments" ) . value ,
131+ rating : document . querySelector ( 'input[name="rating"]:checked' ) . value
132+ } ;
133+ console . log ( formData ) ;
134+ fetch ( 'http://127.0.0.1:3000/feedback' , {
135+ method : 'POST' ,
136+ headers : {
137+ 'Content-Type' : 'application/json'
138+ } ,
139+ body : JSON . stringify ( formData )
140+ } )
141+ . then ( response => response . json ( ) )
142+ . then ( data => {
143+ console . log ( 'Success:' , data ) ;
144+ document . getElementById ( "message" ) . innerText = "Thank you for your feedback!" ;
145+ document . getElementById ( "message" ) . style . display = "block" ;
146+ setTimeout ( function ( ) {
147+ document . getElementById ( "message" ) . style . display = "none" ;
148+ document . getElementById ( "feedback-form" ) . reset ( ) ;
149+ } , 3000 ) ;
150+ } )
151+ . catch ( ( error ) => {
152+ console . error ( 'Error:' , error ) ;
153+ var errorMessage = document . getElementById ( "error-message" ) ;
154+ errorMessage . innerText = "There was an error submitting your feedback." ;
155+ errorMessage . style . display = "block" ;
156+ setTimeout ( function ( ) {
157+ errorMessage . style . display = "none" ;
158+ } , 3000 ) ;
159+ } ) ;
160+ } ) ;
142161 </ script >
143162</ body >
144163</ html >
0 commit comments