Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leo Barreto

window.opener

Recommended Posts

Bem Amigos, estou com uma dúvida para poder criar uma função com window.opener

 

A função abaixo deverá criar uma tabela com os dados do cliente clicado, na janela pai. porém nos testes que estou fazendo - com alert() - apenas qdo coloco números o alert é mostrado. se coloco algum texto não funciona.

function buscaCliente(){
  var name = $("#search_cli").val();
  
  $.ajax({
	type: "POST",
	url: "_application/_client/showClient.php",
	data:{razao: name},
	dataType: "JSON",
	success: function(cli){
	  var data ='<tr>'+
		    '<th>Código</th>'+
		    '<th>Razão Social</th>'+
		    '<th>CNPJ</th>'+
		    '<th>Nome Fantasia</th>';
	  
	  for (i=0; i< cli.length; i++){
		data += '<tr><td><a href="" onclick="alert(8564);" >'+cli[i].id+'</a></td>'+
			"<td>"+cli[i].razao_social+'</td>'+
			"<td>"+cli[i].cnpj+'</td>'+
			"<td>"+cli[i].nome_fantasia+'</td></tr>';
	  }
	  $("#pescli").html(data);
	}
  });
}

Grato desde já pela ajuda e paciência dos colegas de profissão

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

e onde ta o window.opener no codigo?

ainda não o fiz, pois como disse estou testando no alert primeiro.

 

 

e onde ta o window.opener no codigo?

Aqui está a função completa, com o window.opener

function buscaCliente(){  var name = $("#search_cli").val();    $.ajax({	type: "POST",	url: "_application/_client/showClient.php",	data:{razao: name},	dataType: "JSON",	success: function(cli){	  var id, razao_social;	  var cnpj, nome_fantasia;	  var rep, fatrep, liqrep;	  var data ='<tr>'+				'<th>Código</th>'+				'<th>Razão Social</th>'+				'<th>CNPJ</th>'+				'<th>Nome Fantasia</th>';	  	  for (i=0; i< cli.length; i++){		id = cli[i].id; razao_social = cli[i].razao;		cnpj = cli[i].cnpj; nome_fantasia = cli[i].nome_fantasia;		rep = cli[i].rep; fatrep = cli[i].fatrep;		liqrep = cli[i].liqrep;				data += '<tr><td><a href="" onclick="window.opener.dadosCliente('+id+', '+fatrep+');self.close();" >'+id+'</a></td>'+				"<td>"+razao_social+'</td>'+				"<td>"+cnpj+'</td>'+				"<td>"+nome_fantasia+'</td></tr>';	  }	  $("#pescli").html(data);	}  });}

A função está funcionando em parte. Por que em parte?

Porque se eu utilizar alguma das var de text, ou seja, razao_social, rep, nome_fantasia, a função não executa devidamente. Porém se eu utilizar as var id, fatrep, liqrep e cnpj funciona perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só funciona com números, pq para texto você precisa informar que são strings.

Da forma q você está fazendo fica um "variável não declarada"

 

Aperte Ctrl + Shift + J no Firefox ou Chrome para ve-los.

Corrigido fica assim:

 

data += '<tr><td><a href="" onclick="window.opener.dadosCliente(\''+id+'\', \''+fatrep+'\', \''+ razao_social +'\');self.close();" >'+id+'</a></td>'+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só funciona com números, pq para texto você precisa informar que são strings.

Da forma q você está fazendo fica um "variável não declarada"

 

Aperte Ctrl + Shift + J no Firefox ou Chrome para ve-los.

Corrigido fica assim:

 

data += '<tr><td><a href="" onclick="window.opener.dadosCliente(\''+id+'\', \''+fatrep+'\', \''+ razao_social +'\');self.close();" >'+id+'</a></td>'+

 

Resolveu, William, perfeitamente. o/

Grato pela força!!!

 

Mas não consegui ver o erro através do Ctrl + Shift + J, pois o erro aparece rapidamente e some. Talvez porque a função esteja em um link...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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