Teste
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.
 
 
 

98 lines
2.9 KiB

// (() => {
// const array = [{titulo: 'Prática na empresa', data: '2023-06-20', capacidade: 20, preco: 0.00, categoria: 'Visita técnica'},
// {titulo: 'Aula de ReactJs', data: '2023-07-08', capacidade: 100, preco: 30.00, categoria: 'Aula'},
// {titulo: 'Aula de lógica de programação', data: '2023-06-15', capacidade: 50, preco: 15.00, categoria: 'Aula'},
// {titulo: 'Jogo de Flamengo X Corinthians', data: '2023-08-23', capacidade: 100000, preco: 180.00, categoria: 'Jogo'},
// {titulo: 'Visita técnica na empresa Sitana', data: '2023-10-10', capacidade: 25, preco: 0.00, categoria: 'Visita técnica'}]
// array.map((obj,i) => {
// const tr = document.getElementsByTagName('tr')[i+1]
// Object.keys(obj).map((key,j) => {
// const td = tr.getElementsByTagName('td')[j]
// td.innerText = obj[key]
// })
// })
// })()
const sendData = (form) => {
const formData = new FormData(form);
if(!validator(formData)) {
return false
}
const request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert(this.responseText)
}
else if(this.readyState >= 4) {
alert('ERRO: ' + this.responseText)
}
}
const precoFormatado = parseFloat(formData.get("preco").replace('.','').replace(',','.'))
const objeto = {
titulo: formData.get("titulo"),
data: formData.get("data"),
capacidade: parseInt(formData.get("capacidade")),
preco: precoFormatado,
categoria: parseInt(formData.get("categoria"))
}
const url = 'http://hcbarros.bootcamp.dev.netuno.org:20190/services/evento-salvar'
request.open('POST', url)
request.setRequestHeader('Content-Type', 'application/json')
request.send(JSON.stringify(objeto));
return false
}
const validator = (formData) => {
if(formData.get("titulo").length < 5) {
alert('O título deve possuir ao menos 5 caracteres!')
return false
}
if(formData.get("capacidade").length === 0) {
alert('Informe a capacidade do evento!')
return false
}
const date = new Date(formData.get("data"))
if(isNaN(date.getTime())) {
alert('Data inválida!')
return false
}
return true
}
const openCloseModal = (acao) => {
document.getElementsByClassName('modal-content')[0].style.display = acao
document.getElementsByClassName('form')[0].style.display = acao
}
const numberMask = (element) => {
element.value = element.value.replace(/\D/g,'')
}
const currencyMask = (element) => {
var v = element.value.replace(/\D/g,'')
v = (v/100).toFixed(2) + ''
v = v.replace(".", ",").replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.')
element.value = v
}