Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 50fc103

Browse files
author
Andrew Mead
committed
Lesson: Form and Button States
1 parent d0d28ec commit 50fc103

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

chat-app/public/js/chat.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
11
const socket = io()
22

3+
// Elements
4+
const $messageForm = document.querySelector('#message-form')
5+
const $messageFormInput = $messageForm.querySelector('input')
6+
const $messageFormButton = $messageForm.querySelector('button')
7+
const $sendLocationButton = document.querySelector('#send-location')
8+
39
socket.on('message', (message) => {
410
console.log(message)
511
})
612

7-
document.querySelector('#message-form').addEventListener('submit', (e) => {
13+
$messageForm.addEventListener('submit', (e) => {
814
e.preventDefault()
915

16+
$messageFormButton.setAttribute('disabled', 'disabled')
17+
1018
const message = e.target.elements.message.value
1119

1220
socket.emit('sendMessage', message, (error) => {
21+
$messageFormButton.removeAttribute('disabled')
22+
$messageFormInput.value = ''
23+
$messageFormInput.focus()
24+
1325
if (error) {
1426
return console.log(error)
1527
}
@@ -18,16 +30,19 @@ document.querySelector('#message-form').addEventListener('submit', (e) => {
1830
})
1931
})
2032

21-
document.querySelector('#send-location').addEventListener('click', () => {
33+
$sendLocationButton.addEventListener('click', () => {
2234
if (!navigator.geolocation) {
2335
return alert('Geolocation is not supported by your browser.')
2436
}
2537

38+
$sendLocationButton.setAttribute('disabled', 'disabled')
39+
2640
navigator.geolocation.getCurrentPosition((position) => {
2741
socket.emit('sendLocation', {
2842
latitude: position.coords.latitude,
2943
longitude: position.coords.longitude
3044
}, () => {
45+
$sendLocationButton.removeAttribute('disabled')
3146
console.log('Location shared!')
3247
})
3348
})

0 commit comments

Comments
 (0)