Ir para conteúdo

POWERED BY:

Arquivado

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

Mirelly

[Resolvido] Problema com formulário

Recommended Posts

Bom dia pessoal!

 

Possuo um formulário com os campos convenio e exame, quero que após esses dois itens serem preenchidos o campo preço do exame seja automaticamente preenchido de acordo com o convenio e exame inserido (lembrando que existe uma tabela preco de exame onde cadastro todos os precos do exame).

 

Alguém pode me ajudar?...obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajudar é diferente de fazer para você.

 

qual é a dúvida?

dispare uma requisição ajax, enviando estes 2 dados, e então no retorno coloque no campo que você quer.

 

vai usar algum framework ? ou só javascript puro ?

qual a dificuldade ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajudar é diferente de fazer para você.

 

qual é a dúvida?

dispare uma requisição ajax, enviando estes 2 dados, e então no retorno coloque no campo que você quer.

 

vai usar algum framework ? ou só javascript puro ?

qual a dificuldade ?

 

Obrigado pela resposta William é ajuda mesmo, já tenho algo pronto vou mostrar ok?

Seguinte tenho um form e nele tenho um campo convenio e exame e ao lado de cada um deles um botão que quando clicado abre um poup-up com a listagem de todos os convenios e exames cadastrados o usuario escolhe, e o nome e id do convenio e exame escolhido vão para os campos text-field e hidden respectivamente do form pai, quero pegar o valor do campo hidden dos campos que no caso possui o id de ambos e buscar na minha tabela o preço de acordo com os ids escolhidos.

 

form.php

<!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=utf-8" />
<script type="text/javascript">
function abre_conv(){
       window.open('form_busca_conv.php', 'fornruq1w2w', 'top=110, left=110, width=480, height=395');
}
function abre_exa(){
       window.open('form_busca_exa.php', 'fornruq1w2w', 'top=110, left=110, width=480, height=395');
}
</script>
<title>Untitled Document</title>
</head>

<body>
<table width="776" border="0" cellspacing="4" cellpadding="0">
<tr>
   <td> </td>
   <td colspan="2">Convênio:<input type="hidden" name="hf_agendamento_paciente_convenio" id="hf_agendamento_paciente_convenio"/></td>    
   <td>Matrícula:</td>
   <td>Nro Guia:</td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_convenio" type="text" id="tf_agendamento_paciente_convenio" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_conv()"/></td>
   <td><input name="tf_agendamento_paciente_matricula" type="text" id="tf_agendamento_paciente_matricula" size="20" /></td>
   <td><input name="tf_agendamento_paciente_num_guia" type="text" id="tf_agendamento_paciente_num_guia" size="20" /></td>
 </tr>
<tr>
   <td> </td>
   <td colspan="2">Exame:<input type="hidden" name="hf_agendamento_paciente_exame" id="hf_agendamento_paciente_exame"/></td>
   <td>Valor Exame:</td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_exame" type="text" id="tf_agendamento_paciente_exame" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_exa()"/></td>
   <td><input name="tf_agendamento_paciente_valor_exame" type="text" id="tf_agendamento_paciente_valor_exame" size="20" /></td>
   <td> </td>
 </tr>
 </table>
</body>
</html>

 

Vou mostrar só o busca convênio para você entender o busca exame é a mesma coisa..

 

form_busca_convenio.php

<!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=utf-8" />
<title>..::Radiologyx>>Agendamento>>Cadastro>>Convênios:
:..</title>
<link href="../css/ris.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="../js/convenio.js"></script>
<style type="text/css">
td div { 
height:150px; 
width:467px;
overflow:auto; 
}
</style>
</head>
<body>
<table width="450" border="0" cellspacing="0" cellpadding="0">
 <tr>
   <td valign="top"><img src="../images/interface/lista_conv.gif" width="467" height="20" /></td>
 </tr>
 <tr>
   <td valign="top"><form id="form1" name="form1" method="post" action="form_busca_conv.php">
     <table width="450" border="0" id="todoform" cellspacing="0" cellpadding="0">
       <tr>
         <td width="9" valign="top"> </td>
         <td width="432" valign="top"> </td>
         <td width="9" valign="top"> </td>
       </tr>
       <tr>
         <td colspan="2" valign="top">Nome:</td>
         <td width="9" valign="top"> </td>
       </tr>
       <tr>
         <td colspan="3" valign="top"><input name="tf_nome" type="text" id="tf_nome" size="40" maxlength="50" /></td>
       </tr>
       <tr>
         <td valign="top"> </td>
         <td valign="top"> </td>
         <td valign="top"> </td>
       </tr>
       <tr>
         <td colspan="3" valign="top">
         <table width="435" border="0" align="left" cellpadding="0" cellspacing="2">
           <tr>
             <td width="141" valign="top"><input type=image src="../images/interface/botao_busca.gif" width="130" height="50"></td>
             <td width="288" valign="top"><img src="../images/interface/botao_cancela.gif" width="130" height="50" border="0" onclick="window.close();"/></td>
           </tr>
         </table>
         </td>
         </tr>
       <tr>
         <td colspan="3" valign="top"> </td>
         </tr>
       <tr>
         <td colspan="3" valign="top">
         <?
                    echo "<table width=\"450\" border=0 cellpadding=\"0\" class=\"titulo_negrito\" cellspacing=\"4\">
                        <tr>
                        <td width=\"350\" align=\"left\">Nome:</td>    
                        <td width=\"100\" align=\"left\"></td>                                                                 
                        </td>
                        </tr>
                        </table>";                       
                 ?>          
         <div>
           <?
                            include "../banco/conecta.php";                             

                                if(isset($_POST['tf_nome']))
                                {
                                  $nome = trim(strtoupper($_POST['tf_nome']));
                                  $sql = "SELECT convenio_nome, convenio_id FROM glo_convenios where convenio_nome like '$nome%' and convenio_status='1' order by convenio_nome ASC";
                                  $result = pg_query($conexao,$sql);
                                  $i = 1;                                      

                                  while ($show = pg_fetch_object($result))
                                  {
                                        $nome = $show->convenio_nome;                                  
                                        $id = $show->convenio_id;                                       
                                        $i++;

                                        if(($i%2)!=0){                                                                                                                                    
                                        echo "<table width=\"450\" border=0 cellpadding=\"0\" class=\"texto\" cellspacing=\"4\">
                                        <tr>   
                                        <td width=\"350\" align=\"left\"><input type=\"radio\" name=\"rg_con\" value=\"$nome|$id\">$nome</td>           
                                    <td width=\"100\" align=\"left\"></td>
                                        </tr>
                                        </table>";}

                                        else{
                                        echo "<table width=\"450\" bgcolor=\"#D6D6D6\" border=0 cellpadding=\"0\" class=\"texto\" cellspacing=\"4\">
                                        <tr>
                                        <td width=\"350\" align=\"left\"><input type=\"radio\" name=\"rg_con\" value=\"$nome|$id\">$nome</td>           
                                    <td width=\"100\" align=\"left\"></td>
                                        </tr>
                                        </table>";}                                       
                                  }                             
                                  pg_close($conexao);                                   
                                }

                                else
                                {                              
                                  $sql = "SELECT convenio_nome, convenio_id FROM glo_convenios where convenio_status='1' order by convenio_nome ASC";
                                  $result = pg_query($conexao,$sql);
                                  $i = 1;

                                  while ($show = pg_fetch_object($result))
                                  {
                                        $nome = $show->convenio_nome;                                  
                                        $id = $show->convenio_id;                                       
                                        $i++;

                                        if(($i%2)!=0){                                                                                                                                    
                                        echo "<table width=\"450\" border=0 cellpadding=\"0\" class=\"texto\" cellspacing=\"4\">
                                        <tr>                                   
                                        <td width=\"350\" align=\"left\"><input type=\"radio\" name=\"rg_con\" value=\"$nome|$id\">$nome</td>           
                                    <td width=\"100\" align=\"left\"></td>
                                        </tr>
                                        </table>";}

                                        else{
                                        echo "<table width=\"450\" bgcolor=\"#D6D6D6\" border=0 cellpadding=\"0\" class=\"texto\" cellspacing=\"4\">
                                        <tr>
                                       <td width=\"350\" align=\"left\"><input type=\"radio\" name=\"rg_con\" value=\"$nome|$id\">$nome</td>            
                                    <td width=\"100\" align=\"left\"></td>
                                        </tr>
                                        </table>";}                                       
                                  }                             
                                  pg_close($conexao);
                               }
              ?>    
         </div></td>
         </tr>
       <tr>
         <td valign="top"> </td>
         <td valign="top"> </td>
         <td valign="top"> </td>
       </tr>
       <tr>
         <td valign="top"> </td>
         <td valign="top"><table width="432" border="0" cellspacing="0" cellpadding="0">
           <tr>
        <td align="center"><img src="../images/interface/botao_seleciona.gif" onclick="selecionar()" width="130" height="50" /></td>
        <td align="center"><img src="../images/interface/botao_inclui.gif" onclick="adicionar()" width="130" height="50" /></td>
        <td align="center"><img src="../images/interface/botao_edita.gif" onclick="editar()" width="130" height="50" /></td>
           </tr>
         </table></td>
         <td valign="top"> </td>
         </tr>
     </table>
   </form></td>
 </tr>
</table>
</body>
</html>

 

 

convenio.js

function selecionar(){
 var perfil;
 perfil = document.form1.rg_con.value;
 for(var i=0;i<document.form1.rg_con.length;i++){
         if(document.form1.rg_con[i].checked){
                perfil = document.form1.rg_con[i].value;
                break;
         }             
 }
 if(perfil){
         var partes = perfil.split('|');
         window.opener.document.getElementById("tf_agendamento_paciente_convenio").value = partes[0];
         window.opener.document.getElementById("hf_agendamento_paciente_convenio").value = partes[1]; 
         window.close();
 }else{
         alert("Selecione um convenio.");
 }
}
function editar(){
 var perfil;
 perfil = document.form1.rg_con.value;
 for(var i=0;i<document.form1.rg_con.length;i++){
         if(document.form1.rg_con[i].checked){
                perfil = document.form1.rg_con[i].value;
                break;
         }             
 }
 if(perfil){
         var partes = perfil.split('|');
         window.open('form_edita_conv.php?id=' + partes[1], 'Teste44', 'top=110, left=110, width=473, height=335');
         window.close();
 }else{
         alert("Selecione um convenio.");
 }
}
function adicionar(){
       window.open('form_add_conv.php', 'scisdade1', 'top=110, left=110, width=473, height=335'); 
        window.close();
}

 

Desculpe se coloquei muita coisa, mas achei que fosse a melhor maneira de você entender o meu problema, obrigado por enquanto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entender eu já entendi.. mas então qual é a dúvida com o ajax ?

da forma que está, então é melhor que você dispare a requisição no momento em que os hiddens forem preenchidos.

 

 

exemplo de requsição ajax:

http://forum.imasters.com.br/index.php?/topic/403054-problema-resposta-ajax/page__view__findpost__p__1579893

Compartilhar este post


Link para o post
Compartilhar em outros sites

entender eu já entendi.. mas então qual é a dúvida com o ajax ?

da forma que está, então é melhor que você dispare a requisição no momento em que os hiddens forem preenchidos.

 

 

exemplo de requsição ajax:

http://forum.imasters.com.br/index.php?/topic/403054-problema-resposta-ajax/page__view__findpost__p__1579893

 

 

Olhei o exemplo que você me deu olha o que eu fiz não está dando certo.

 

<script type="text/javascript">
function getHTTPObject()
{
       if(window.XMLHttpRequest){
               return new XMLHttpRequest();
       } else if(window.ActiveXObject){
               var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

               for(var i = 0; i < prefixes.length; i++){
                       try{
                           return new ActiveXObject(prefixes[i] + ".XMLHTTP");
                       } catch (e) {}
               }
       }
}
var xmlHttp = getHTTPObject();
function busca_valor(conv, exa)
{        
       id('tf_agendamento_paciente_valor_exame').innerHTML = 'Carregando...';
       xmlHttp.open("GET", "busca_preco.php?conv="+conv+"&exa="+exa, true);

       xmlHttp.onreadystatechange = function()
       {
               if (xmlHttp.readyState==4)
               {
                       id('tf_agendamento_paciente_valor_exame').innerHTML = xmlHttp.responseText;
               }
       }
       xmlHttp.send(null);   
}
function id(el){
       return document.getElementById(el);
}
window.onload = function()
{
       id('hf_agendamento_paciente_convenio').onblur = function()
       {
              var conv = document.getElementById("hf_agendamento_paciente_convenio").value;
       }
	id('hf_agendamento_paciente_exame').onblur = function()
       {
               var exa = document.getElementById("hf_agendamento_paciente_exame").value;		
       }
	busca_valor(conv,exa);
}
</script>

 

busca_preco.php

<?php
header("Expires: {$gmtdate} GMT");
header("Last-Modified: {$gmtDate} GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Progma: no-cache");
include "banco/conecta.php";
$conv = $_GET['conv'];
$exa = $_GET['exa'];
$query = "select exame_preco_valor from rad_exames_precos where exame_preco_exame='$exa' and  exame_preco_convenio='$conv'";
$result = pg_query($conexao,$query);
$row = pg_fetch_object($result);
$valor = $row->exame_preco_valor;
echo $valor;
}
?> 

 

Pelo menos estou tentando... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

e oque não deu certo ? apareceu erro ? qual?

 

como está o html ?

qual a dúvida ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

e oque não deu certo ? apareceu erro ? qual?

 

como está o html ?

qual a dúvida ?

 

Bom dia William!

 

Não deu certo pois nem a frase "Carregando..." aparece no text-field quando os campos convenio e exame são preenchidos, não aparece erro nenhum simplesmente o form continua do mesmo jeito, o html segue abaixo. Obrigado pela disposição em ajudar!... :D

 

<div id="edit_area_agenda">
<form id="todoform" name="todoform" method="post" action="banco/agenda_paciente.php" onSubmit="return validaAgenda()">
<table width="776" border="0" cellspacing="4" cellpadding="0">
 <tr>
   <td width="43"> </td>
   <td width="399">Convênio:<input type="hidden" name="hf_agendamento_paciente_convenio" id="hf_agendamento_paciente_convenio"/></td>    
   <td width="147">Matrícula:</td>
   <td width="163">Nro Guia:</td>
 </tr>
 <tr>
   <td> </td>
   <td><input name="tf_agendamento_paciente_convenio" type="text" id="tf_agendamento_paciente_convenio" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_conv()"/></td>
   <td><input name="tf_agendamento_paciente_matricula" type="text" id="tf_agendamento_paciente_matricula" size="20" /></td>
   <td><input name="tf_agendamento_paciente_num_guia" type="text" id="tf_agendamento_paciente_num_guia" size="20" /></td>
 </tr>
 <tr>
   <td> </td>
   <td>Exame:<input type="hidden" name="hf_agendamento_paciente_exame" id="hf_agendamento_paciente_exame"/></td>
   <td>Valor Exame:</td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td><input name="tf_agendamento_paciente_exame" type="text" id="tf_agendamento_paciente_exame" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_exa()"/></td>
   <td><input name="tf_agendamento_paciente_valor_exame" type="text" id="tf_agendamento_paciente_valor_exame" size="20" /></td>
   <td> </td>
 </tr>
</table>
</form>
</div>

 

Alguém conhece algum outro forum onde eu possa obter essa resposta?...aqui ta difícil......

Compartilhar este post


Link para o post
Compartilhar em outros sites

¬¬

 

assim.. ninguém é obrigado a lhe responder, e depois dessa 'grosseria', me sinto inclinado a não te ajudar.

 

veja:

id('hf_agendamento_paciente_convenio').onblur = function()

e aqui o input:

<td width="399">Convênio:<input type="hidden" name="hf_agendamento_paciente_convenio" id="hf_agendamento_paciente_convenio"/></td>   

 

sendo um type="hidden", nunca vai acontecer o evento onblur que depende do usuário.

 

na verdade, os campos que você deve usar são:

tf_agendamento_paciente_convenio e tf_agendamento_paciente_exame

 

além de que você chama uma function no evento, e não faz nada lá dentro.. só atribui uma variavel, e nem usa ela.

colocando a função: busca_valor(conv,exa); no lugar que você colocou, ela será disparada assim que a página carregar [window.onload] e pronto, nada mais.

 

mais correto seria assim:

	id('tf_agendamento_paciente_exame').onblur = function()
{
	var conv = id("tf_agendamento_paciente_convenio").value;
	var exa = id("tf_agendamento_paciente_exame").value;
	if( conv!='' && exa!='' )
		busca_valor(conv,exa);      
}

 

 

e aqui:

id('tf_agendamento_paciente_valor_exame').innerHTML = xmlHttp.responseText;

já que é um input, você deve acessar o atributo

.value

dessa forma:

id('tf_agendamento_paciente_valor_exame').value = xmlHttp.responseText;

 

pronto, corrigido.

Desde que o teu script php esteja correto, a parte js/ajax está perfeita :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

William em primeiro lugar me desculpe pela grosseria, estou um pouco preocupada pois esse problema está me tirando o sono.. :)....fiz tudo o que você mandou fazer mas continua não executando a função busca_valor, pois no campo preço não aparace nem a frase "Carregando..." que deveria aparecer se a função fosse chamada corretamente ou estou errada?, vou continuar pesquisando para ver se descubro alguma coisa e se você puder continuar me ajudando ficarei muito agradecida.. :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

reposte todo o teu código após as modificações.

 

Eu testei aqui, e funcionou perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

reposte todo o teu código após as modificações.

 

Eu testei aqui, e funcionou perfeitamente.

 

Bom dia William!!

 

add_agendamento.php

<!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=UTF-8" />
<title>..::Radiologyx>>Agendamento>>Cadastro>>Pacientes::..</title>
<script type="text/javascript">
function getHTTPObject()
{
       if(window.XMLHttpRequest){
               return new XMLHttpRequest();
       } else if(window.ActiveXObject){
               var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

               for(var i = 0; i < prefixes.length; i++){
                       try{
                           return new ActiveXObject(prefixes[i] + ".XMLHTTP");
                       } catch (e) {}
               }
       }
}
var xmlHttp = getHTTPObject();
function busca_valor(conv,exa)
{        
       id('tf_agendamento_paciente_valor_exame').innerHTML = 'Carregando...';
       xmlHttp.open("GET", "busca_preco.php?conv="+conv+"&exa="+exa, true);

       xmlHttp.onreadystatechange = function()
       {
               if (xmlHttp.readyState==4)
               {
                       id('tf_agendamento_paciente_valor_exame').value = xmlHttp.responseText;
               }
       }
       xmlHttp.send(null);   
}
function id(el){
       return document.getElementById(el);
}
window.onload = function()
{
       id('tf_agendamento_paciente_exame').onblur = function()
       {
               var conv = id("tf_agendamento_paciente_convenio").value;
               var exa = id("tf_agendamento_paciente_exame").value;
               if( conv!='' && exa!='' )
               busca_valor(conv,exa);      
       }		
}
</script>
</head>
<body> 
<div id="edit_area_agenda">
<form id="todoform" name="todoform" method="post" action="banco/agenda_paciente.php" onSubmit="return validaAgenda()">
<table width="776" border="0" cellspacing="4" cellpadding="0">
 <tr>
   <td width="43"> </td>
   <td colspan="2">Paciente:<input type="hidden" name="hf_agendamento_paciente_paciente" id="hf_agendamento_paciente_paciente"/></td>
   <td width="147"><input type="hidden" name="hf_agendamento_paciente_data" value="<? echo $ano."-".$mes."-".$dia; ?>" id="hf_agendamento_paciente_data"/></td>
   <td width="163"><input type="hidden" name="hf_agendamento_paciente_hora" value="<? echo $hora.":".$min; ?>" id="hf_agendamento_paciente_hora"/></td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_paciente" type="text" onkeydown="abreJanela()" id="tf_agendamento_paciente_paciente" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_pac()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Solicitante:<input type="hidden" name="hf_agendamento_paciente_solicitante" id="hf_agendamento_paciente_solicitante"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_solicitante" type="text" id="tf_agendamento_paciente_solicitante" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_sol()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Técnico:<input type="hidden" name="hf_agendamento_paciente_tecnico" id="hf_agendamento_paciente_tecnico"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_tecnico" type="text" id="tf_agendamento_paciente_tecnico" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_tec()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Procedência:
   <input type="hidden" name="hf_agendamento_paciente_procedencia" id="hf_agendamento_paciente_procedencia"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_procedencia" type="text" id="tf_agendamento_paciente_procedencia" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_proc()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Convênio:<input type="hidden" name="hf_agendamento_paciente_convenio" id="hf_agendamento_paciente_convenio"/></td>    
   <td>Matrícula:</td>
   <td>Nro Guia:</td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_convenio" type="text" id="tf_agendamento_paciente_convenio" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_conv()"/></td>
   <td><input name="tf_agendamento_paciente_matricula" type="text" id="tf_agendamento_paciente_matricula" size="20" /></td>
   <td><input name="tf_agendamento_paciente_num_guia" type="text" id="tf_agendamento_paciente_num_guia" size="20" /></td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Exame:<input type="hidden" name="hf_agendamento_paciente_exame" id="hf_agendamento_paciente_exame"/></td>
   <td>Valor Exame:</td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_exame" type="text" id="tf_agendamento_paciente_exame" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_exa(<? echo $agenda_tipo_exame; ?>)"/></td>
   <td><input name="tf_agendamento_paciente_valor_exame" type="text" id="tf_agendamento_paciente_valor_exame" size="20" /></td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Contraste:<input type="hidden" name="hf_agendamento_paciente_contraste" id="hf_agendamento_paciente_contraste"/></td>
   <td>Valor Contraste:</td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_contraste" type="text" id="tf_agendamento_paciente_contraste" size="60" maxlength="30" /><input type="button" name="button2" id="button2" value="..." onclick="abre_cont()"/></td>
   <td><input name="tf_agendamento_paciente_valor_contraste" type="text" id="tf_agendamento_paciente_valor_contraste" size="20" /></td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td width="141">Taxa:</td>
   <td width="258">Desconto:</td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td><input name="tf_agendamento_paciente_valor_taxa" type="text" id="tf_agendamento_paciente_valor_taxa" size="20" /></td>
   <td><input name="tf_agendamento_paciente_valor_desconto" type="text" id="tf_agendamento_paciente_valor_desconto" size="20" /></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input type="checkbox" name="cb_agendamento_paciente_plantao" id="cb_agendamento_paciente_plantao"/>
     Plantão?</td>
   <td rowspan="2" valign="middle"><input name="botao" type="image" src="images/interface/botao_grava.gif" width="130" height="50"/></td>
   <td rowspan="2" valign="middle"><a href=""><img src="images/interface/botao_cancela.gif" width="130" height="50" border="0"/></a></td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input type="checkbox" name="cb_continua_agenda" id="cb_continua_agenda" />
     Continuar agendando exames para este paciente?</td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input type="hidden" name="hf_op" value="g" id="hf_op"/></td>
   <td> </td>
   <td> </td>
 </tr>
</table>
</form>
</div>
</body>
</html>

 

busca_preco.php

<?php
header("Expires: {$gmtdate} GMT");
header("Last-Modified: {$gmtDate} GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Progma: no-cache");
include "banco/conecta.php";
$conv = $_GET['conv'];
$exa = $_GET['exa'];
//$query = "select exame_preco_valor from rad_exames_precos where exame_preco_convenio='$conv'";
//$result = pg_query($conexao,$query);
//$row = pg_fetch_object($result);
//valor = $row->exame_preco_valor;
echo $conv;
}
?> 

 

Obrigada!.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia!

 

Aqui também seria um .value, no lugar de .innerHTML.

function busca_valor(conv,exa)
{        
 id('tf_agendamento_paciente_valor_exame').innerHTML = 'Carregando...';

 

E porquê você comentou a busca no código PHP ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

id('tf_agendamento_paciente_valor_exame').value = 'Carregando...';

não faz sentido o .innerHTML q você tava usando ai também.

 

O ajax está perfeito.

existem erros no teu php.

 

acesse diretamente:

localhost/busca_preco.php?conv=123&exa=123

e corrija.

Compartilhar este post


Link para o post
Compartilhar em outros sites

id('tf_agendamento_paciente_valor_exame').value = 'Carregando...';

não faz sentido o .innerHTML q você tava usando ai também.

 

O ajax está perfeito.

existem erros no teu php.

 

acesse diretamente:

localhost/busca_preco.php?conv=123&exa=123

e corrija.

 

Fiz a alteração do .innerHTML por .value e arrumei o busca_preco.php e ele retorna o valor corretamente, mas continua não aparecendo a frase "Carregando..." no campo preço, vou enviar o código completo do add_agendamento.php e a correção do busca_preco.php

 

add_agendamento.php

<? 
session_start();
include "verifica.php";
$login = $_SESSION['nome'];
?> 
<!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=UTF-8" />
<title>..::Radiologyx>>Agendamento>>Cadastro>>Pacientes::..</title>
<link rel="stylesheet" type="text/css" href="css/ris.css" />
<link rel="stylesheet" type="text/css" href="css/fisheye-menu.css" />
<link rel="stylesheet" type="text/css" href="css/layout.css" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/form.js"></script>
<script type="text/javascript" src="js/valida_agenda.js"></script>
<script type="text/javascript" src="js/menu.js"></script>
<script type="text/javascript">
function getHTTPObject()
{
       if(window.XMLHttpRequest){
               return new XMLHttpRequest();
       } else if(window.ActiveXObject){
               var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

               for(var i = 0; i < prefixes.length; i++){
                       try{
                           return new ActiveXObject(prefixes[i] + ".XMLHTTP");
                       } catch (e) {}
               }
       }
}
var xmlHttp = getHTTPObject();
function busca_valor(conv,exa)
{        
       id('tf_agendamento_paciente_valor_exame').value = 'Carregando...';
       xmlHttp.open("GET", "busca_preco.php?conv="+conv+"&exa="+exa, true);

       xmlHttp.onreadystatechange = function()
       {
               if (xmlHttp.readyState==4)
               {
                       id('tf_agendamento_paciente_valor_exame').value = xmlHttp.responseText;
               }
       }
       xmlHttp.send(null);   
}
function id(el){
       return document.getElementById(el);
}
window.onload = function()
{
       id('tf_agendamento_paciente_exame').onblur = function()
       {
               var conv = id("tf_agendamento_paciente_convenio").value;
               var exa = id("tf_agendamento_paciente_exame").value;
               if( conv!='' && exa!='' )
               busca_valor(conv,exa);      
       }		
}
</script>
<script src="js/fisheye.js" type='text/javascript'></script>
</head>
<body> 
<div id="fig_topo">
</div> 
<? include "views/menu_prin.inc"; ?>
<div id="fig_topo_dir">
</div>
<? include "views/data_hora.inc"; 
include "banco/conecta.php";
$id = $_GET['id'];
$ano = substr($id,0,4);
$mes = substr($id,4,2);
$dia = substr($id,6,2);
$hora = substr($id,8,2);
$min = substr($id,10,2);
$agenda = substr($id,12,4);
$data_exame = $dia."/".$mes."/".$ano." - ".$hora.":".$min;
$query = "select rad_agendas.agenda_tipo_exame,  rad_agendas.agenda_nome,  rad_exames_tipos.exame_tipo_tempo_exame from rad_agendas inner join rad_exames_tipos on rad_agendas.agenda_tipo_exame=rad_exames_tipos.exame_tipo_id where rad_agendas.agenda_id='$agenda'";
$result = pg_query($conexao,$query);
$row = pg_fetch_object($result);
$agenda_tipo_exame = $row->agenda_tipo_exame;
if($agenda_tipo_exame==3){
$topo="images/interface/radiografia.gif";
$exame = "RADIOGRAFIA";
}
else if($agenda_tipo_exame==4){
$topo="images/interface/tomografia.gif";
$exame = "TOMOGRAFIA COMPUTADORIZADA";
}
else if($agenda_tipo_exame==5){
$topo="images/interface/ressonancia.gif";
$exame = "RESSONANCIA MAGNETICA";
}
else if($agenda_tipo_exame==6){
$topo="images/interface/mamografia.gif";
$exame = "MAMOGRAFIA";
}
else{
$topo="images/interface/ultrassonografia.gif";
$exame = "ULTRASSONOGRAFIA";
}
?>
<div id="topo_agendamento">
<table width="776" border="0" cellpadding="0" cellspacing="0"> 
<td width="776" height="50" valign="top" background="<? echo $topo; ?>"><table width="776" height="44" border="0" cellspacing="2" cellpadding="0">
<tr>
<td height="22" align="right">Tipo do Exame:</td>
<td width="245"><input name="tf_agenda" type="text" class="input" disabled="disabled" value="<? echo $exame; ?>" id="tf_agenda" size="35" maxlength="30" /></td>
<td width="92" align="right">Dt.Exame:</td>
<td width="147"><input name="tf_data_exame" type="text" class="input" disabled="disabled" value="<? echo $data_exame; ?>" id="tf_data_exame" size="20" maxlength="20" /></td>
<td width="101" rowspan="2"></td>
</tr>
<tr>
<td width="179" height="19" align="right">Login:</td>
<td><input name="tf_login" type="text" class="input" id="tf_login" disabled="disabled" value="<? echo $login; ?>" size="30" maxlength="50" /></td>
<td align="right">Marcado em:</td>
<td><input name="tf_marca_exame" type="text" class="input" disabled="disabled" value="<? echo date('d/m/Y - h:i'); ?>" id="tf_marca_exame" size="20" maxlength="20" /></td>
</tr>
</table>
</td>     
</table>
</div>  
<div id="edit_area_agenda">
<form id="todoform" name="todoform" method="post" action="banco/agenda_paciente.php" onSubmit="return validaAgenda()">
<table width="776" border="0" cellspacing="4" cellpadding="0">
 <tr>
   <td width="43"> </td>
   <td colspan="2">Paciente:<input type="hidden" name="hf_agendamento_paciente_paciente" id="hf_agendamento_paciente_paciente"/></td>
   <td width="147"><input type="hidden" name="hf_agendamento_paciente_data" value="<? echo $ano."-".$mes."-".$dia; ?>" id="hf_agendamento_paciente_data"/></td>
   <td width="163"><input type="hidden" name="hf_agendamento_paciente_hora" value="<? echo $hora.":".$min; ?>" id="hf_agendamento_paciente_hora"/></td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_paciente" type="text" onkeydown="abreJanela()" id="tf_agendamento_paciente_paciente" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_pac()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Solicitante:<input type="hidden" name="hf_agendamento_paciente_solicitante" id="hf_agendamento_paciente_solicitante"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_solicitante" type="text" id="tf_agendamento_paciente_solicitante" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_sol()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Técnico:<input type="hidden" name="hf_agendamento_paciente_tecnico" id="hf_agendamento_paciente_tecnico"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_tecnico" type="text" id="tf_agendamento_paciente_tecnico" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_tec()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Procedência:
   <input type="hidden" name="hf_agendamento_paciente_procedencia" id="hf_agendamento_paciente_procedencia"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_procedencia" type="text" id="tf_agendamento_paciente_procedencia" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_proc()"/></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Convênio:<input type="hidden" name="hf_agendamento_paciente_convenio" id="hf_agendamento_paciente_convenio"/></td>    
   <td>Matrícula:</td>
   <td>Nro Guia:</td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_convenio" type="text" id="tf_agendamento_paciente_convenio" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_conv()"/></td>
   <td><input name="tf_agendamento_paciente_matricula" type="text" id="tf_agendamento_paciente_matricula" size="20" /></td>
   <td><input name="tf_agendamento_paciente_num_guia" type="text" id="tf_agendamento_paciente_num_guia" size="20" /></td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Exame:<input type="hidden" name="hf_agendamento_paciente_exame" id="hf_agendamento_paciente_exame"/></td>
   <td>Valor Exame:</td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_exame" type="text" id="tf_agendamento_paciente_exame" size="60"/><input type="button" name="button2" id="button2" value="..." onclick="abre_exa(<? echo $agenda_tipo_exame; ?>)"/></td>
   <td><input name="tf_agendamento_paciente_valor_exame" type="text" id="tf_agendamento_paciente_valor_exame" size="20" /></td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2">Contraste:<input type="hidden" name="hf_agendamento_paciente_contraste" id="hf_agendamento_paciente_contraste"/></td>
   <td>Valor Contraste:</td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input name="tf_agendamento_paciente_contraste" type="text" id="tf_agendamento_paciente_contraste" size="60" maxlength="30" /><input type="button" name="button2" id="button2" value="..." onclick="abre_cont()"/></td>
   <td><input name="tf_agendamento_paciente_valor_contraste" type="text" id="tf_agendamento_paciente_valor_contraste" size="20" /></td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td width="141">Taxa:</td>
   <td width="258">Desconto:</td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td><input name="tf_agendamento_paciente_valor_taxa" type="text" id="tf_agendamento_paciente_valor_taxa" size="20" /></td>
   <td><input name="tf_agendamento_paciente_valor_desconto" type="text" id="tf_agendamento_paciente_valor_desconto" size="20" /></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input type="checkbox" name="cb_agendamento_paciente_plantao" id="cb_agendamento_paciente_plantao"/>
     Plantão?</td>
   <td rowspan="2" valign="middle"><input name="botao" type="image" src="images/interface/botao_grava.gif" width="130" height="50"/></td>
   <td rowspan="2" valign="middle"><a href=""><img src="images/interface/botao_cancela.gif" width="130" height="50" border="0"/></a></td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input type="checkbox" name="cb_continua_agenda" id="cb_continua_agenda" />
     Continuar agendando exames para este paciente?</td>
 </tr>
 <tr>
   <td> </td>
   <td colspan="2"><input type="hidden" name="hf_op" value="g" id="hf_op"/></td>
   <td> </td>
   <td> </td>
 </tr>
</table>
</form>
</div>
</body>
</html>

 

busca_preco.php

<?php
header("Cache-Control: no-cache, must-revalidate");
header("Progma: no-cache");
include "banco/conecta.php";
$conv = $_GET['conv'];
$exa = $_GET['exa'];
$query = "select exame_preco_valor from rad_exames_precos where exame_preco_convenio='$conv'";
$result = pg_query($conexao,$query);
$row = pg_fetch_object($result);
$valor = $row->exame_preco_valor;
echo $valor;
?> 

 

Obrigado meninos

Compartilhar este post


Link para o post
Compartilhar em outros sites

rodei aqui, e funcionou perfeitamente.

 

Em qual navegador você está testando?

rode no Firefox, com o console aberto: Ctrl+Shif+J

 

é possível que algum dos teus outros scripts esteja interferindo, remova eles, e teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se ela criar um objeto do lado do botão ? Um <span> por exemplo! Definindo um ID e colocando ele no AJAX para setar o "Carregando...".

 

Assim:

 

<span id="carregando"></span>

 

AJAX

function busca_valor(conv,exa)
{        
       id("carregando").innerHTML = 'Carregando...';
       xmlHttp.open("GET", "busca_preco.php?conv="+conv+"&exa="+exa, true);

       xmlHttp.onreadystatechange = function()
       {
               if (xmlHttp.readyState==4)
               {
                       id('tf_agendamento_paciente_valor_exame').value = xmlHttp.responseText;
                       id("carregando").innerHTML = "";
               }
       }
       xmlHttp.send(null);   
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em qual navegador você está testando?

rode no Firefox, com o console aberto: Ctrl+Shif+J

 

 

Estou rodando no firefox sim, abri o console e não acusou erro nenhum e tambem tirei os outros scripts linkados, estou ficando louca com isso já... :lol:

 

Obrigado

 

E se ela criar um objeto do lado do botão ? Um <span> por exemplo! Definindo um ID e colocando ele no AJAX para setar o "Carregando...".

 

Já está setando aqui no ajax:

id('tf_agendamento_paciente_valor_exame').value = 'Carregando...';

 

No html:

<td><input name="tf_agendamento_paciente_valor_exame" type="text" id="tf_agendamento_paciente_valor_exame" size="20" /></td>

 

Isso não dá na mesma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça oque eu disse:

é possível que algum dos teus outros scripts esteja interferindo, remova eles, e teste.

 

se tiver dúvidas, hospede esses scripts, e nos envie o link para testarmos online.

Já está tudo certo no javascript, funcionou perfeitamente aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça oque eu disse:

é possível que algum dos teus outros scripts esteja interferindo, remova eles, e teste.

 

se tiver dúvidas, hospede esses scripts, e nos envie o link para testarmos online.

Já está tudo certo no javascript, funcionou perfeitamente aqui.

 

Willian você estava certo, descobri o que estava atrapalhando o código era essa linha.

 

<? include "views/data_hora.inc"; ?>

 

data_hora.inc

<?
$usuario = $_SESSION['nome'];
?>
<!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=utf-8" />
<script type="text/javascript">
function UR_Start() 
{
UR_Nu = new Date;
UR_Indhold = showFilled(UR_Nu.getHours()) + ":" + showFilled(UR_Nu.getMinutes()) + ":" + showFilled(UR_Nu.getSeconds());
document.getElementById("ur").innerHTML = UR_Indhold;
setTimeout("UR_Start()",1000);
}
function showFilled(Value) 
{
return (Value > 9) ? "" + Value : "0" + Value;
}

</script>
<title>Untitled Document</title>
<link href="css/ris.css" rel="stylesheet" type="text/css" />
<link href="../css/ris.css" rel="stylesheet" type="text/css" />
</head>   
<body onload="UR_Start()"> \\tirando o onload="UR_Start()" funciona
<div id="data_hora">
<table width="776" border="0" cellpadding="0" cellspacing="0" class="textobranco"> 
 <td width="776" height="25" valign="top" background="../images/interface/data_hora.gif"><table width="776" height="20" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="14" height="20"></td>
<td width="37">Data:</td>
<td width="114" align="left"><? echo date("d/m/Y"); ?></td>
<td width="36">Hora:</td>
<td width="233" align="left"><font id="ur"></font></td>
<td width="40">Login:</td>
<td width="286"><? echo $usuario; ?></td>
</tr>
</table>
</td>     
</table>
</div>
</body>
</html>

 

e fiz um ajuste para o meu caso mudando o onblur do input para o botão:

<script type="text/javascript">
window.onload = function()
{
       id('bt_agendamento_paciente_exame').onblur = function()
       {
               var conv = id("tf_agendamento_paciente_convenio").value;
               var exa = id("tf_agendamento_paciente_exame").value;
               if( conv!='' && exa!='' )
               busca_valor(conv,exa);      
       }		
}
</script>

 

agora só falta eu descobrir um script de relógio que não atrapalhe,quando descobrir posto a solução completa. Muito obrigado pela ajuda, não entendia nada de ajax e agora pelo menos já sei um pouco... ;)

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.