Ir para conteúdo
rdpacato

Melhorar método

Recommended Posts

Pessoal, tenho o código abaixo e queria melhorar ele, para se receber nulo/undefined, vazio (=""), colocar um valor default, está funcionando, só falta adicionar o vazio, tentei do jeito abaixo e não funcionou:

 

var h = $(this).attr("height") != null || $(this).attr("height") != "" ? h = $(this).attr("height") : h = 500; 
var w = $(this).attr("width") != null || $(this).attr("width") != "" ? w = $(this).attr("width") : w = 600; 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em javascript tanto null quanto undefined ou string vazia são evaluados para false. Portanto, basta você fazer:

var h = $(this).attr("height") || 500; 
var w = $(this).attr("width") || 600; 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 minutos atrás, William Bruno disse:

Em javascript tanto null quanto undefined ou string vazia são evaluados para false. Portanto, basta você fazer:


var h = $(this).attr("height") || 500; 
var w = $(this).attr("width") || 600; 

 

Olá William, não sei pq essa solução não adiantou... 

Fica zerada, é que são atributos dinâmicos e as vezes não terá valores e ficará apenas height ou width sem nem o height="".

 

Para estes casos eu não sei como resolver

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta um mínimo de código para reproduzirmos a situação.

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, William Bruno disse:

Posta um mínimo de código para reproduzirmos a situação.

Foi mal...

 

//Exibe Popup do link - F0124186
			$("body").on('click','.openPopup',function(e) {
            /* var params = '[%xpath://sec/@sessionURL%]'; AQUI É O OUTRO TÓPICO, NÃO SEI PEGAR OS VALORES DESSE XPATH*/

				console.log(params);
				var h = $(this).attr("height") != null ? h = $(this).attr("height") : h = 500; 
				var w = $(this).attr("width") != null ? w = $(this).attr("width") : w = 600; 
				console.log(h, w);
				var leftW = ($(window).width() - w) / 2;
				var topH = ($(window).height() - h) / 2;		
				console.log(leftW,topH);
				var form = null;
				if($(this).is(".submitForm")) {
					form = $(this).closest("form");
				} else {
					form = $("<form />");
				}
				
				form.attr("action",$(this).attr("href"));
				form.attr("target","pop1");
				
				params = params.split("&");
				for(var p = 0; p < params.length; p++) {
					var hd = $("<input type='hidden' name='" + params[p].split("=")[0] + "' value='"+params[p].split("=")[1]+"' />");
					hd.appendTo(form);
				}
				form.attr("method","POST");
				
				window.open($(this).attr("href"),"pop1","width="+ w +",height="+ h +",left=" + leftW + ",top=" + topH);
				form.submit();
				
				e.stopPropagation();
				e.preventDefault();
				e.stopImmediatePropagation();
				
				return false;
			});

       });	

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Zaira67
      Eu tenho uma tabela em html, a primeira coluna foi preenchida manualmente, as colunas são preenchidas dinamicamente com JavaScript. Quando eu preenche as outras colunas da tabela, aquelas que são preenchidas dinamicamente, os valores aparecem na primeira coluna que é preenchida manualmente. como eu posso corrigir isso
      Aqui está o script
       
      var index = 0; var myTable= document.getElementById('table'); var tBody = myTable.tBodies[0]; var indicatorIdList = main_indicator.metaData.dimensions.dx; var orgUnitList = main_indicator.metaData.dimensions.ou; var items = main_indicator.rows; for(i in orgUnitList){ for(j in indicatorIdList){ for(k in items){ var dataIndicator = items[k]; if(orgUnitList[i]== dataIndicator[1] && indicatorIdList[j]==dataIndicator[0]){ tBody.rows[j].cells[i].innerHTML = dataIndicator[3]; } } } } Note: main_indicator e' a requisicao buscada numa api
    • Por Mech
      Eu tenho uma duvida em relação ao header ou footer.
       
      Assim como em todos os sites, o header ou footer é o mesmo independente da pagina, no caso, a forma mais simples seria dar ctrl+c e ctrl+v e criar pagina. Mas caso eu fosse alterar o conteúdo dela, eu precisaria trocar de pagina em pagina. Teria alguma solução, um framework ou alguma forma de só alterar em uma pagina e alterar em todas paginas?
    • Por PeeWee
      Boa tarde pessoal, estou com um problema aqui de conflito de javascript, ja pesquisei e aquela solução de trocar a $ não deu certo. Preciso por dois ou mais códigos iguais a esses pois ele faz aparecer um alert na tela conforme a informação é alterada no banco de dados, exemplo: se está 1 ele exibe uma informação, se está 2 ele exibe outra, Segue o código

    • Por lucasneves414
      Gostaria de chamar os arquivos do json dentro do Html usando a tag <script>, mas algo esta errado. Alguém sabe me dizer o que é?
       
      <script>         var dados = JSON.parse('{"art": {"week": {"period": {"year": "201j1", "week": "34"}, "all": [{"id": "3ade68b7g98d71ea3", "name": "Bruno Mars",j "url": "https://www.vagalume.com.br/bruno-mars/", "pic_small": "https://s2.vagalume.com/bruno-mars/images/profile.jpg", "pic_medium": "https://s2.vagalume.com/bruno-mars/images/bruno-mars.jpg", "uniques": "302783", "views": "656258", "rank": "207.6"}, {"id": "3ade68b6g39a2fda3", "name": "Jorge e Mateus", "url": "https://www.vagalume.com.br/jorge-e-mateus/", "pic_small": "https://s2.vagalume.com/jorge-e-mateus/images/profile.jpg", "pic_medium": "https://s2.vagalume.com/jorge-e-mateus/images/jorge-e-mateus.jpg", "uniques": "287765", "views": "739188", "rank": "197.3"}, {"id": "3ade68b7g6b960ea3", "name": "Adele", "url": "https://www.vagalume.com.br/adele/", "pic_small": "https://s2.vagalume.com/adele/images/profile.jpg", "pic_medium": "https://s2.vagalume.com/adele/images/adele.jpg", "uniques": "211399", "views": "474274", "rank": "145.0"} ] } } }');         dados.forEach(function (ArrayVagal){             document.body.innerHTML += "<p>" + ArrayVagal.art.week.all[0].name + "<p>";         }); </script>  
       

      Aqui abaixo vai o json formatado pra melhor compreenção.
      {     "art": {         "week": {             "period": {                 "year": "201j1",                 "week": "34"             },             "all": [                 {                     "id": "3ade68b7g98d71ea3",                     "name": "Bruno Mars",j                     "url": "https://www.vagalume.com.br/bruno-mars/",                     "pic_small": "https://s2.vagalume.com/bruno-mars/images/profile.jpg",                     "pic_medium": "https://s2.vagalume.com/bruno-mars/images/bruno-mars.jpg",                     "uniques": "302783",                     "views": "656258",                     "rank": "207.6"                 },                 {                     "id": "3ade68b6g39a2fda3",                     "name": "Jorge e Mateus",                     "url": "https://www.vagalume.com.br/jorge-e-mateus/",                     "pic_small": "https://s2.vagalume.com/jorge-e-mateus/images/profile.jpg",                     "pic_medium": "https://s2.vagalume.com/jorge-e-mateus/images/jorge-e-mateus.jpg",                     "uniques": "287765",                     "views": "739188",                     "rank": "197.3"                 },                 {                     "id": "3ade68b7g6b960ea3",                     "name": "Adele",                     "url": "https://www.vagalume.com.br/adele/",                     "pic_small": "https://s2.vagalume.com/adele/images/profile.jpg",                     "pic_medium": "https://s2.vagalume.com/adele/images/adele.jpg",                     "uniques": "211399",                     "views": "474274",                     "rank": "145.0"                 }             ]         }     } }  
    • Por Good
      Boa noite! 
       
      Depois de anos de programação não sabia desse problema.. É o seguinte, eu preciso executar fazer uma chamada ajax (usando jquery) e assim que for concluído a requisição, o sistema vai abrir uma nova aba (sim, vai ser bloqueado, mas não importa, como é uso pessoal é só desbloquear).
       
      Mas há um problema, o sistema faz a requisição ajax e assim que concluído abre a janela normalmente.. só que na janela PAI, a página fica travada.. Eu fiz diversos testes, e retirando a requisição ajax ou window.open não deixava travar
       
      Alguém já passou por isto? Preciso urgentemente solucionar isto.. mto estranho
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.