Ir para conteúdo

POWERED BY:

Arquivado

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

ricardosohn

[Resolvido] Como passar variáveis de popup para campos (arrays)?

Recommended Posts

Estou com o seguinte problema, eu tenho um formulário, que possui campos que são adicionados dinamicamente, sendo o nome dos campos, arrays. Esses campos, sao readonly, e tenho uma funcao js que é atribuída a uma pequena imagem, que ao ser clicada, abre um popup. Este mesmo popup, faz a busca do banco de dados e preenche o campo na tabela. Eu faço isso sem problemas algum, até o momento em que houve a necessidade de passar para um array.

nao sei se há como. Preciso da ajuda de vocês. Obrigado desde já.

Vou postar aqui os códigos.

cad.php

<script type="text/javascript">
function func5(id) {
   window.open("consultas/buscaitem.php?id="+id+"", "myWindow", 
"status = 1, height = 700, width= 827, resizable = -1, scrollbars=yes");
}</script>
<script type="text/javascript">
var qtdeCampos = 0;
function addCampos() {
var objPai = document.getElementById("campoPai");
//Criando o elemento DIV;
var objFilho = document.createElement("div");
//Definindo atributos ao objFilho:
objFilho.setAttribute("id","filho"+qtdeCampos);
//Inserindo o elemento no pai:
objPai.appendChild(objFilho);
//Escrevendo algo no filho recém-criado:
document.getElementById("filho"+qtdeCampos).innerHTML = "<td>Item</td><td><input name='txtnomeitem[]' id='txtnomeitem"+qtdeCampos+"' value='"+qtdeCampos+"' type='text' size='35' maxlength='35' style='background-color:#EEE9E9'readonly='true'> <a href='javascript:func5("+qtdeCampos+")' title='Buscar Funcionario'><img src='img/busca.png' width='20px' height='20px'></a></td>	<td><input name='txtiditem[]' type='hidden' maxlength=''></td> 		<td>Quantidade</td><td colspan='2' align='center'><input type='text' size='15' maxlength='45' name='quantidade["+qtdeCampos+"]' id='quantidade"+qtdeCampos+"'></td><td> <a href='#' onclick='removerCampo("+qtdeCampos+");return false;'> <img src='img/collapse.png' width='15' height='15'> </a><td></tr>";
qtdeCampos++;

}



function removerCampo(id) {
var objPai = document.getElementById("campoPai");
var objFilho = document.getElementById("filho"+id);
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);
}
</script>
<div id="imagem" style="top:20%; left:10%;"><?php
$imagem = imagem("compras","png","400","300");
?></div>
<div style="position:relative; bottom:30%; left:30%;" id="tabelas">
<div id="titulo">CADASTRO DE COMPRA</div><br>
<form name="cad_pedidocompra" method="post">
<table border="0" width="60%" height="45%">

<tr>
	<td colspan="2">
		<table border="0" width="100%" height="20%">
				<div id="campoPai"></div>
			<tr>
				<td>
					<a href='#' onclick='addCampos();return false;'><img src='img/plus.png' width='25' height='25'></a>
				</td>
			</tr>
		</table>
			<tr>
				<td colspan="2"><input type="submit" id="botao_form" value="Cadastrar">    <input type="button" onclick="javascript:func7()" id="botao_form" value="Visualiza Cotação"></td>
			</tr>
	</td>
</tr>
</table>

</form>
</div>

 

 

buscaitem.php

<html>
<head>
<title>BUSCA ITEM</title>
	<link href="../css/estilos.css" rel="stylesheet"/> 
</head>
<div id="centro">
<body style="background-color:#FFF;">
    <div id="cabecalho1">
	  <div id="title">ROFATO FERRAMENTARIA</div>
	</div>
<?php 
	       if (isset($_GET['id']))
			{
	        echo  $id=$_GET['id'];
			}
?>		
	<br>
	<div class="barra_opcoes" align="center"> • PESQUISAR ITENS </div>
	<br />
	<div class="barra_maisopcoes">
	<form method="post" action="buscaitem.php?arq=buscaitem1&&id=<?php echo $id; ?>" class="busca">
        <table border="0">
      <tr>
        <td>Buscar por:</td> 
        <td ><input type="text" name="palavra_chave" maxlength="35" size="40" /></td>
        <td ><select name="procura" id="procura">
	         <option value="0">-- ESCOLHA --</option>
			 <option value="1">Sigla</option>
	         <option value="2">Nome</option>
	         </select>
		</td>
        <td><input type="hidden" name="ordem" value="ASC" />
            <input type="submit" value="OK!" title="" /></td>
      </tr>
</table>
</form>
   <script type="text/javascript">  
   function redireciona() {  
   window.close();
id = '<?php echo $id ?>';
   opener.location.href="../index2.php?pasta=cadastros/itensrofato&arq=cad_itens&&id="+ id +"";  
   }  


   </script>  
Nao Achou o que queria? Clique
       <a href="#" onclick="redireciona(); return false;">aqui</a> 
para registrar.
	</div>
	<br />
	<?php
	       if (isset($_GET['arq']))
			{
	          $arq=$_GET['arq'];
			  include "$arq".".php";
			}
		?>
	</div>


</body>
</html>

 

buscaitem1.php

<?php 
$id = $_GET['id'];
?>
<html>
 <head>
 <title></title>
 <script>
 function enviar(nome,sigla){

			opener.document.cad_pedidocompra.txtnomeitem[<?php echo $id; ?>].value=nome;
			opener.document.cad_pedidocompra.txtiditem[<?php echo $id; ?>].value=id;
			window.close();    
 }
 </script>  
 </head>
<body>
<script>  

</script>
<?php
include "../conexao.php";
include "../funcoes/funcoesbd/funcoesbd.php";
$tabela="itens";
$palavra_chave = mysql_real_escape_string($_POST['palavra_chave']);//Escapa espaços vazios
$procura=$_POST['procura'];
$ordem=$_POST['ordem'];
$limit=99999;
$qr=pesquisaitem($tabela,$palavra_chave,$procura,$ordem,$limit);
$sql=mysql_query($qr);
	echo "
		  <center>
		  <table width='90%' border='0' id='tabelapopup'>
			<tr>
			   <td align='center' class='destaca & borda'width='40%'><font size = '2'>Código</td>
			   <td align='center' class='destaca & borda'width='60%'><font size = '2'>Nome</td>
			</tr>
			<tr>
		";
		while($dados=mysql_fetch_array($sql))
		{

			$id=$dados['cod_itens'];
			$nome=$dados['nome_item'];
			//;echo"
			?>
				 <td bgcolor='' class='alinha_cnt & borda'><font size = '2'><?php echo $id;?></td>

				 <td bgcolor='' class='alinha_cnt & borda'><font size = '2'><a href='#' onClick="return enviar('<?php echo $nome;?>','<?php echo $id?>');" border='none'><?php echo $nome;?></a></td>

			</tr>
			<!--";-->
		<?php
		}
		echo "</table></center>";

?>
</body>
</html>

 

Eu preciso que, ao clicar no item escolhido (na popup), ele envie o valor para o campo(array) correspondente na página principal.

Grato desde já :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver sozinho, apenas refiz a funcao enviar :D

 

function enviar(nome,id){

window.opener.document.getElementById('txtnomeitem<?php echo $idd; ?>').value=nome

window.opener.document.getElementById('txtiditem<?php echo $idd; ?>').value=id;

window.close();

}

 

Agora funciona perfeitamente.Obrigado mesmo assim, pode fechar o tópico.

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.