Ir para conteúdo

POWERED BY:

Arquivado

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

Rodrigo M. Campos

Problema com retorno input

Recommended Posts

Boa tarde pessoal.

Estou quebrando a cabeça com um modal.

Tenho uma página que carrega com ela um botão que aciona o modal. Até aí tudo bem.

A página é uma tabela de usuários e pra cada usuário eu dou um número de ID, e este mesmo ID atribuo ao modal.

O modal contem: Nome do usuário, um input de numero de centro de custo e um input com o nome do centro de custo(Ambos são desabilitados para edição)

Tenho um botão de pesquisa que abre outra janela, onde seleciono o centro de custo e ele traz os valores para o input.

O problema que estou tendo é que a pesquisa sempre traz os valores para o primeiro modal no caso de ID 1.

Exemplo:

Usuário João - Modal 1
Usuário Maria - Modal 2 (Quando abro a pesquisa aqui ele não traz os valores no input. Se eu abrir o modal 1 os valores que setei no modal 2 vão estar preenchidos).

Não sei como fazer o retorno para o modal que estou usando no momento.

Segue o código de retorno.

<div class="adv-table">
        <table border="1" class="table table-hover general-table font" >
            <thead>
                <tr  >
                    <th>C/C</th>
                    <th>Descriçao</th>
                </tr>
            </thead>	

<?php	
	$id = $_GET["id"];
	mysql_set_charset('utf8');
	$consultaCc = mysql_query("SELECT * FROM centrodecusto order by nrCentroDeCusto asc");
        
	while($resultado_consultaUsuario = mysql_fetch_array($consultaCc)){

		$centroDeCusto = $resultado_consultaUsuario['centroDeCusto'];
		$nrCentroDeCusto = $resultado_consultaUsuario['nrCentroDeCusto'];
        
        $consultaUser = mysql_query("SELECT id_usuario FROM usuarios where id_usuario = '$id'");
        
        while($resultado = mysql_fetch_array($consultaUser)){
            
            $idUsuario = $resultado["id_usuario"];
        }
?>

<script>
function retorna(nrCentroDeCusto, centroDeCusto)
        {
            window.opener.document.getElementById('nrCentroDeCusto').value = nrCentroDeCusto;
            window.opener.document.getElementById('centroDeCusto').value = centroDeCusto;
            window.self.close();
        }
</script>      
        

            <tr>
                <td ><font size="2px"><a href="javascript:retorna('<?php echo $nrCentroDeCusto;?>', '<?php echo $centroDeCusto;?>')"> <?php echo $nrCentroDeCusto;?></a><br></td>
                <td ><font size="2px"><a href="javascript:retorna('<?php echo $nrCentroDeCusto;?>', '<?php echo $centroDeCusto;?>')"> <?php echo $centroDeCusto;?></a><br></td>
            </tr>

<?php }?>

</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz, você não pode ter 2 div's com o mesmo ID. É para isso que servem as classes.

Nota: Quando existem mais de um objeto, ele retorna um Array associado aos objetos.

 

Exemplo:

<a class="ola"></a>
<a class="ola"></a>

document.getElementByClassName("ola")[1];

Com isso, ele pegará o segundo a com a class ola.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Fedrizze.

 

Desculpe mas não compreendi o que quis dizer.

 

O meu formulário esta assim

<td><button type="button" class="btn btn-info " onClick=javascript:abrir('consultarCc.php?id=<?php echo $id?>')><i class="fa fa-search"></i> Buscar C/C</button></td>
                <td><input type="text" name="nrCentroDeCusto" id="nrCentroDeCusto" class="form-control"   value="<?php echo $nrCentroDeCusto ?>" </td>
                <td><input type="text" name="centroDeCusto" id="centroDeCusto" class="form-control"   value="<?php echo $centroDeCusto ?>" /> </td>

Como ficaria minha função sendo que a classe dos dois campos nrCentroDeCusto e centroDeCusto é form-control


Acabei conseguindo fazer usando o getElementById.

 

Exemplo: id="nrCentrodeCusto<?php echo $id;?>" e id="centroDeCusto<?php echo $id;?>"

 

Obrigado.

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.