Por qual motivo o resultado é indefinido "undefined" ?

37 views
Skip to first unread message

pedroguilh...@gmail.com

unread,
May 3, 2019, 2:25:36 PM5/3/19
to jQuery (Brasil)
Quando eu clico nas datas o resultado do PDF e do colégio é indefinido   "undefined" 

Estou usando jquery, jspdf e outras bibliotecas como jsmask, jquery-phonebr



Alguém poderia me ajudar?

Códigos


Aqui gera o arquivo em PDF   .... pds não sei por qual motivo as variáveis não funcionamm... tipo... funciona, mas tipo... eu fiz novas porque let não permite que o var seja usado dentro do $.value do JSPDF

const pdf = new jsPDF(); let button = document.querySelector(".button-primary"); let nombre = document.querySelector(".nomecompleto"); let rafael = document.querySelector(".celular"); let saber = document.querySelector(".email"); let oioi = document.querySelector(".idade"); let procure = document.querySelector(".numerodaidentidade"); let achei = document.querySelector(".orgaoexpedidor"); let soumais = document.querySelector(".cpf"); let tudo = document.querySelector(".datadenascimento"); let queijo = document.querySelector(".pai"); let amizade = document.querySelector(".mae"); let cep = document.querySelector(".cep"); let america = document.querySelector(".bairro"); let entenda = document.querySelector(".endereco"); let xman = document.querySelector(".complemento"); let homemdeferro = document.querySelector(".municipio"); let pokemon = document.querySelector(".estado"); let olhe = document.querySelector(".inscricao"); let observe = document.querySelector(".datadaprova"); let humanos = document.querySelector(".unidades"); let fonte = document.querySelector(".colegios"); button.addEventListener('click', printPDF) function printPDF() { event.preventDefault(); // impede o comportamento padrão da tag 'form'/ var name = `Nome Completo: ${nome.value}`; var duda = `Celular: ${celular.value}`; var encontre = `E-mail: ${email.value}`; var deus = `Idade: ${idade.value}`; var diz = `Número da Identidade: ${numerodaidentidade.value}`; var uhuu = `Orgão Expedidor: ${orgaoexpedidor.value}`; var venha = `CPF: ${cpf.value}`; var lembrar = `Data de Nascimento: ${datadenascimento.value}`; var sora = `Nome da Mãe: ${mae.value}`; var supr = `Nome do Pai: ${pai.value}`; var veja = `CEP: ${cep.value}`; var fuz = `Bairro: ${bairro.value}`; var como = `Endereço: ${endereco.value}`; var vai = `Complemento: ${complemento.value}`; var nossa = `Município: ${municipio.value}`; var festa = `Estado: ${estado.value}`; var agora = `Inscrição: ${inscricao.value}`; var nunca = `Data da Prova: ${datadaprova.value}`; var maiser = `Unidade: ${unidades.value}`; var ana = `Colégio: ${colegios.value}`; pdf.setFontSize(14); pdf.text(10, 10, "Formulário de Inscrição"); pdf.text(10, 40, name); pdf.text(10, 50, duda); pdf.text(10, 60, encontre); pdf.text(10, 70, deus); pdf.text(10, 80, diz); pdf.text(10, 90, uhuu); pdf.text(10, 100, venha); pdf.text(10, 110, lembrar); pdf.text(10, 120, sora); pdf.text(10, 130, supr); pdf.text(10, 140, veja); pdf.text(10, 150, fuz); pdf.text(10, 160, como); pdf.text(10, 170, vai); pdf.text(10, 180, nossa); pdf.text(10, 190, festa); pdf.text(10, 200, agora); pdf.text(10, 210, nunca); pdf.text(10, 220, maiser); pdf.text(10, 230, ana); pdf.save('fichadecadastro.pdf'); }







Aqui não deveria permitir que todo o campo que não foi preenchido... ele deveria desativar o botão, mas não funciona 

(function() { $('form > input').keyup(function() { var empty = false; $('form > input').each(function() { if ($(this).val() == '') { empty = true; } }); if (empty) { $(':submit').attr('disabled', 'disabled'); } else { $(':submit').removeAttr('disabled'); } }); })()




Aqui impede que o campo orgaoexpedidor tenha  números

jQuery('.orgaoexpedidor').keyup(function () { this.value = this.value.replace(/[^a-zA-Z.]/g,''); });





Tipo aqui faz as máscaras...


$(".cpf").mask("999.999.999-99"); $(".idade").mask("99"); $(".cep").mask("99.999-999"); $(".datadenascimento").mask("99/99/9999"); $('.celular').maskbrphone();






Tipo... aqui impede que o campo tenha outras coisas... o que é permitido é apenas número

function somenteNumeros(num) { var er = /[^0-9.]/; er.lastIndex = 0; var campo = num; if (er.test(campo.value)) { campo.value = ""; } }







Tipo....aqui impede que o campo idade... tenha mais que 3 algarismos

function toLimit(string = ""){ string.value = string.value.substring(0,2); }








Tipo... aqui seria para verificar o CPF... tipo se for inválido  o botão gerar PDF não deveria ser ativado... mas, outro erro kkkk

function is_cpf (c) {

 
if((c = c.replace(/[^\d]/g,"")).length != 11)
   
return false

 
if (c == "00000000000")
   
return false;

 
if (c == "11111111111")
   
return false;

 
if (c == "22222222222")
   
return false;

 
if (c == "33333333333")
   
return false;

 
if (c == "44444444444")
   
return false;

 
if (c == "55555555555")
   
return false;

 
if (c == "66666666666")
   
return false;

 
if (c == "77777777777")
   
return false;

 
if (c == "88888888888")
   
return false;

 
if (c == "99999999999")
   
return false;

 
var r;
 
var s = 0;

 
for (i=1; i<=9; i++)
    s
= s + parseInt(c[i-1]) * (11 - i);

  r
= (s * 10) % 11;

 
if ((r == 10) || (r == 11))
    r
= 0;

 
if (r != parseInt(c[9]))
   
return false;

  s
= 0;

 
for (i = 1; i <= 10; i++)
    s
= s + parseInt(c[i-1]) * (12 - i);

  r
= (s * 10) % 11;

 
if ((r == 10) || (r == 11))
    r
= 0;

 
if (r != parseInt(c[10]))
   
return false;

 
return true;
}
cpfCheck
= function (el) {
    document
.getElementById('cpfResponse').innerHTML = is_cpf(el.value)? '<span style="color:green">válido</span>' : '<span style="color:red">inválido</span>';
   
if(el.value=='') document.getElementById('cpfResponse').innerHTML = '';
}







Tipo aqui... faz options do array... os elementos são transformados em options

var states = ['AC','AL','AP','AM','BA','CE','DF','ES','GO','MA','MT','MS','MG','PA','PB','PR','PE','PI','RJ','RN','RS','RO','RR','SC','SP','SE','TO']; states.forEach(function(item){$('#estado').append('<option>' + item + '</option>');});









Tipo... aqui pega as datas da prova e cria options... pega o colégio e cria options... depois... se selecionar a option prova... será selecionada a option colégio

"Problema não consigo especificar as datas para o colégio e está dando infinido"

Tipo... eu seleciono... e a parte de abaixo  não mostra

var datadaprova = [ '26/05', '21/07', '22/09', '24/11', '09/06', '04/08', '06/10', '15/12', '16/06', '18/08', '' ]; datadaprova.forEach(function(item, index){ $('#datadaprova').append('<option value="'+ index +'">' + item + '</option>'); }); var colegios = [ 'Menino Jesus', 'CDF Master', 'Ethos']; colegios.forEach(function(item, index){ $('#colegios').append('<option value="'+ index +'">' + item + '</option>'); }); $('#datadaprova').change(function() { $("#colegios").html('<option>'+ colegios[$("option:selected", this).index()] +'</option>'); });




Tipo... aqui coloca o array para unidades e faz os elementos do array... tipo como opção

var unity = ['Arcoverde', 'Paulista', 'Recife']; unity.forEach(function(item){$('#unidades').append('<option>' + item + '</option>');});



Aqui tipo... pega o id estado, inscrição, unidades, colegios... se mudar pega o que foi selecionado e adiciona como valor

$('#estado, #inscricao, #unidades, #colegios').on('change', function (e) { var optionSelected = $("option:selected", this); var valueSelected = this.value; });








Impede o tab, motivo "gera muitos pdf' 's   "



$
('input, body').bind('keypress', function(e) {
 
if (e.keyCode == 13) {
      e
.preventDefault();
 
}
});
$
('input, body').bind('keyup', function(e) {
 
if (e.keyCode == 13) {
     e
.preventDefault();
 
}
});
$
('input, body').bind('keydown', function(e) {
 
if (e.keyCode == 13) {
      e
.preventDefault();
 
}
});
$
('input, body').bind('click', function(e) {
 
if (e.keyCode == 13) {
      e
.preventDefault();
 
}
});


error.png
error2.png

pedroguilh...@gmail.com

unread,
May 3, 2019, 2:39:15 PM5/3/19
to jQuery (Brasil)
Reply all
Reply to author
Forward
0 new messages