1var loadingIndicator = document.querySelector('#loading-indicator') 2var leyenda = document.querySelector('#leyenda') 3var tablaProductos = document.querySelector('#table_products') 4var formTotal = document.querySelector('#form_total') 5var total = document.querySelector('#total') 6 7function obtenerProductos() { 8 let numerosGuardados = JSON.parse(localStorage.getItem('numeros')) || []; 9 10 if (numerosGuardados.length != 0) { 11 fetch('/p_productos_payment', { 12 method: 'POST', 13 body: JSON.stringify(numerosGuardados), 14 headers:{'Content-Type': 'application/json'} 15 }) 16 .then(response=>response.json()) 17 .then(response=>{ 18 console.log(response); 19 loadingIndicator.setAttribute('style','display:none;') 20 let construir_table = '' 21 let totales = 0; 22 23 for (let i = 0; i < response.consulta.length; i++) { 24 const data = response.consulta[i] 25 construir_table += `<tr style="padding-top: 10%;"> 26 <td style="color: #5C1110;"><img src="https://cms.iisrp.com/img_publication/${data.ID_PUB}" alt="" width="136" height="116"></td> 27 <td style="color: #5C1110; padding-top: 5%;">${data.NAME_PUB}</td> 28 <td style="color: #5C1110; padding-top: 5%; text-align: left;">${formatoMoneda(data.PRICE_PUB)} <br> <a 29 onclick="borrarProducto(${data.ID_PUB});" style="color: #FA821F;">Delete</a></td> 30 </tr>` 31 32 totales += data.PRICE_PUB 33 } 34 console.log('totales',totales); 35 36 tablaProductos.removeAttribute('style') 37 formTotal.removeAttribute('style') 38 document.querySelector('#detalle_productos').innerHTML = construir_table 39 total.innerText = formatoMoneda(totales) 40 //console.log('Tabla final',construir_table); 41 }) 42 } 43 else{ 44 //No hay productos 45 leyenda.setAttribute('style','margin: 100px 0 100px 0;') 46 tablaProductos.setAttribute('style','display:none') 47 formTotal.setAttribute('style','display:none;') 48 loadingIndicator.setAttribute('style','display:none;') 49 } 50} 51 52 53function formatoMoneda(params) { 54 var numMX=new Intl.NumberFormat("en-US",{ 55 style:"currency", 56 currency:"MXN", 57 minimumFractionDigits: 2, 58 currencyDisplay: 'narrowSymbol' 59 }) 60 return numMX.format(params); 61} 62 63function borrarProducto(valorAEliminar) { 64 let numerosGuardados = JSON.parse(localStorage.getItem('numeros')) || []; 65 const nuevoArray = numerosGuardados.filter(item => item !== valorAEliminar.toString()); 66 console.log(nuevoArray); 67 localStorage.setItem('numeros', JSON.stringify(nuevoArray)); 68 obtenerProductos(); 69 contarProductos(); 70} 71 72window.onload = function() { 73 obtenerProductos(); 74}; 75 76function send_form_pay() { 77 console.log('Entrando funcion'); 78 79 var name = document.querySelector('#form-nombre').value; 80 var last_name = document.querySelector('#form-apellidos').value; 81 var phone = document.querySelector('#form-telefono').value; 82 var email = document.querySelector('#form-correo').value; 83 var company = document.querySelector('#form-company').value; 84 var address = document.querySelector('#form-address').value; 85 86 /* var wrong_form = document.querySelector('#wrong_form'); 87 var sent_form = document.querySelector('#sent_form'); */ 88 89 var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 90 91 if(name!='' && last_name!='' && email!='' && regex.test(email) && company !=''){ 92 //wrong_form.setAttribute('style','display:none;') 93 94 let numerosGuardados = JSON.parse(localStorage.getItem('numeros')) 95 96 var datos = { 97 name, 98 last_name, 99 phone, 100 email, 101 company, 102 address, 103 products: JSON.stringify(numerosGuardados) 104 } 105 106 console.log('datos',datos); 107 108 fetch('/p_insert_payment', { 109 method: 'POST', 110 body: JSON.stringify(datos), 111 headers:{'Content-Type': 'application/json'} 112 }) 113 .then(response=>response.json()) 114 .then(response=>{ 115 console.log(response) 116 window.location.replace('/cart_payment?id='+response.dato); 117 }) 118 } 119 else{ 120 /* wrong_form.setAttribute('style','color:red;') 121 sent_form.setAttribute('style','display:none;') */ 122 } 123}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.