Jump to content
Fórum Script Brasil
  • 0

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


dammy
 Share

Question

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

Edited by dammy
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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

Edited by dammy
Link to comment
Share on other 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[]

Edited by babaloricha
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...