Ir para conteúdo
Fórum Script Brasil
  • 0

Conexão Entre 2 Páginas (formulario E Consulta)


dammy

Pergunta

Não sei se o lugar certo é aqui ou em javascript, mas como o código é em PHP... Desculpe se estiver errado...

Bem, com a ajuda de um amigo, conseguí fazer o código da consulta, abre nova janela e insere o valor selecionado no input do formulário de pedido.

function add(Pro_Codigo){

window.opener.confped.produto2.value += Pro_Codigo;

window.close();

}

Agora estou com 2 outros problemas, que espero, vocês possam me ajudar porque não sei nem como formular uma busca sobre isso também...

É que estou usando for no form de pedido para gerar a sequencia de linhas (quando abre a página, eu verifico se já existe algum produto neste pedido e inicio o for a partir daí).

O problema maior é que este campo do código do produto usa Onchange para gerar o nome do produto na coluna seguinte (sem refresh da página).

Usando a consulta de produtos, o código é gerado no input, mas é preciso clicar nele de novo para acionar o onchange e, mesmo assim, ao acionar dá sempre "código inexistente".

Estou colocando o código abaixo e desde já agradeço novamente pela paciência e ajuda de vocês.

<?$i = 5;

for($x=1;$x<=$i;$x++){ ?>

<tr><td>Produto</td> //o vendedor digita o cód do produto:

<td><input class="frm" onChange='alt<?php echo $x;?>(this.value);' onblur="this.className='frm'" onfocus="this.className='frm2'" name="<? echo 'produto'.$x;?>"></td>

<td><div id="alt<?php echo $x;?>">aguarde</td> // aqui mostra o nome do produto para simples conferência

Como sempre, vou continuar fazendo alguns testes aqui e qualquer novidade eu aviso.

Ai, nossa !!! Tem mais uma coisa...

Como vou fazer para que o resultado seja inserido no input certo? Tem 5 produtos por página, como vou informar o nome do input do form de pedido para a página de consulta?

Puxa, será que vai dar certo?? se tiverem outra solução, também aceito sugestões...

Abraços,

Dammy

Editado por dammy
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

sim.

Aqui está o código da página com o form de pedido:

function procurar(){

var URL = "consulta.php?consultar="+document.consulta.procura.value;

window.open(URL, "_blank", "dependent=yes,directories=no,width=600,height=400,location=no,menubar=no,resizable=no,toolbar=no");

}

E este é o código da página de consulta:
function add(Pro_Codigo){

window.opener.confped.produto2.value += Pro_Codigo;

window.close();

}

...

foreach($lista as $x){ // tem uma array ($lista) que armazena o resultado de um select no BD

echo "<tr>";

echo "<td>$x[0] </td><td>$x[1]</td><td><input type='button' value='Enviar' onclick=\"add('$x[0]')\"></td>";

echo "</tr>";

}

Fiz outro teste agora e está inserindo o valor direitinho através do formulario de pedido.

Só não está funcionando o "OnChange" e também continuo com a dificuldade de determinar o nome do campo 9que é uma variável).

No teste coloquei "produto2", mas como vou saber se o vendedor está preenchendo o produto2 ou o produto 15, por ex?

Muito obrigada !!!

Dammy

Editado por dammy
Link para o comentário
Compartilhar em outros sites

  • 0

oi!

Ai, nossa !!! Tem mais uma coisa...

Como vou fazer para que o resultado seja inserido no input certo? Tem 5 produtos por página, como vou informar o nome do input do form de pedido para a página de consulta?

pra esse problema eu fiz esse codigo aqui acho que se você aptar para seu codigo da para usar!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form name="form">
<table>
<tr>
    <td><input type="text"  onchange="escreve(this)"/></td><td><input type="text" /></td>
</tr>
<tr>
    <td><input type="text" onchange="escreve(this)"/></td><td><input type="text" /></td>
</tr>
<tr>
    <td><input type="text" onchange="escreve(this)" /></td><td><input type="text" /></td>
</tr>
<tr>
    <td><input type="text" onchange="escreve(this)"/></td><td><input type="text" /></td>
</tr>
<tr>
    <td><input type="text"  onchange="escreve(this)"/></td><td><input type="text" /></td>
</tr>
</table>
</form>
&lt;script>
alert(document.forms[0].length);
function escreve(input){
    for(var i=0;i<document.forms[0].length;i++){ // procura o indicie do input!
        if(input==document.forms[0].elements[i])
            document.forms[0].elements[i+1].value=input.value;// aliciona o valor no vizinho
    }
}
</script>

</body>
</html>

roda o exemplo e ve se é + ou - isso que você quer!

obs: soq ue no seu exemplo você pode usar o parent e opener.forms[]

Editado por babaloricha
Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigada pela atenção, babaloricha !!!!

Bom, agora pra finalizar mesmo...

tá faltando só uma coisinha... não estou conseguindo usar a variavel GET dentro do getElementById...

O código:

assim funciona direitinho, só que eu não posso especificar o valor "alt", pois é uma variável, quero usar com GET.

function add(Pro_Codigo, Pro_Descricao){

window.opener.confped.produto_<?=$_GET['no']?>.value = Pro_Codigo;

window.opener.document.getElementById('alt_2').innerHTML = Pro_Descricao;

}

e assim diz que 'alt_2' não está definido

function add(Pro_Codigo, Pro_Descricao){

window.opener.confped.produto_<?=$_GET['no]?>.value = Pro_Codigo;

var alt = alt_<?=$_GET['no']?>;

window.opener.document.getElementById(alt).innerHTML = Pro_Descricao;

}

Obrigada !!!

Dammy

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...