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

Atualizar campo txt


Nelma

Pergunta

Como eu faço para atualizar na mesma página um campo txt, após ter feito a seleção de um item?(Lis/Menu)

Eu peguei aquele exemplo do ajax (selecionar estado - selecionar cidade), tentei adpatar para esse outro caso, mas não consegui.

Valeu!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Segue o cod:

form_credio.php :

$sql = "          
        SELECT a.cod_programa, a.programa
        FROM programas a          
        ORDER BY a.cod_programa"; 

//EXECUTA A QUERY               
$sql = mysql_query($sql);       

$row = mysql_num_rows($sql); 
include("js.js");

(dentro do form)
<tr>
        <td height="32" align="right" valign="middle" class="fonte">Escolher Programa : </td>
            <td colspan="6" align="left" valign="middle"><select name="listPrograma" onChange="Dados(this.value);">
            <option value="0">--Selecione o Programa >></option>
            <? for($i=0; $i<$row; $i++) { ?>
            
            <option value="<? echo mysql_result($sql, $i, "cod_programa"); ?>">
              <? echo mysql_result($sql, $i, "programa"); ?></option>
            <? } ?>
            </select>            </td>
            <td align="center" valign="middle"><input name="btn_limpar" type="reset" class="botao" id="btn_limpar" value="Limpar Formul&aacute;rio" /></td>
          </tr>
      <tr>
        <td height="32" align="right" valign="middle" class="fonte">Receita : </td>
            <td colspan="6" align="left" valign="middle"><input name="txt_receita" type="text" class="cx_texto" /></td>
            <td rowspan="4" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
          </tr>
arquivos js.js:
<script language="JavaScript">
// JavaScript Document
   function Dados(valor) {
      //verifica se o browser tem suporte a ajax
      try {
         ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
            catch(exc) {
               alert("Esse browser não tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }
      //se tiver suporte ajax
      if(ajax) {
         //deixa apenas o elemento 1 no option, os outros são excluídos
         document.forms[0].txt_receita.options.length = 1;
         
         idOpcao  = document.getElementById("opcoes");
         
         ajax.open("POST", "programa.php", true);
         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         
         ajax.onreadystatechange = function() {
            //enquanto estiver processando...emite a msg de carregando
            if(ajax.readyState == 1) {
               idOpcao.innerHTML = "Carregando...!";   
            }
            //após ser processado - chama função processXML que vai varrer os dados
            if(ajax.readyState == 4 ) {
               if(ajax.responseXML) {
                  processXML(ajax.responseXML);
               }
               else {
                   //caso não seja um arquivo XML emite a mensagem abaixo
                   idOpcao.innerHTML = "--Primeiro selecione o Tipo--";
               }
            }
         }
         //passa o código do estado escolhido
         var params = "programa="+valor;
         ajax.send(params);
      }
   }
   
   function processXML(obj){
      //pega a tag cidade
      var dataArray   = obj.getElementsByTagName("sub");
      
      //total de elementos contidos na tag cidade
      if(dataArray.length > 0) {
         //percorre o arquivo XML para extrair os dados
         for(var i = 0; i < dataArray.length; i++) {
            var item = dataArray[i];
            //contéudo dos campos no arquivo XML
            var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
            
            idOpcao.innerHTML = "--Selecione uma das opções abaixo--";
            
            //cria um novo option dinamicamente  
            var novo = document.createElement("option");
                //atribui um ID a esse elemento
                novo.setAttribute("id", "opcoes");
                //atribui um valor
                novo.value = codigo;
                //atribui um texto
                novo.text  = descricao;
                //finalmente adiciona o novo elemento
                document.forms[0].listSub.options.add(novo);
         }
      }
      else {
        //caso o XML volte vazio, printa a mensagem abaixo
        idOpcao.innerHTML = "--Primeiro selecione o Tipo--";
      }      
   }

</script>
Esse aqruivo foi o q eu tentei adpatar para o meu...pois este é usado para list/Menu Arquivo progama.php: onde é feita a seleção da receita
//RECEBE PARÃMETRO                     
$pPrograma = $_POST["programa"];           

//QUERY  
$sql = " 
       SELECT a.receita   
        FROM  programas a                    
        WHERE a.cod_programa = ".$pPrograma."  
        ORDER BY a.cod_programa";            

//EXECUTA A QUERY               
$sql = mysql_query($sql);       

$row = mysql_num_rows($sql);    

//VERIFICA SE VOLTOU ALGO 
if($row) {                
   //XML
   $xml  = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
   $xml .= "<subs>\n";               
   
   //PERCORRE ARRAY            
   for($i=0; $i<$row; $i++) {  
      $codigo    = mysql_result($sql, $i, "cod_pograma"); 
      $descricao = mysql_result($sql, $i, "receita");
      $xml .= "<sub>\n";                    
      $xml .= "<descricao>".$descricao."</descricao>\n";         
      $xml .= "</sub>\n";    
   }//FECHA FOR                 
   
   $xml.= "</subs>\n";
   
   //CABEÇALHO
   Header("Content-type: application/xml; charset=iso-8859-1"); 
}//FECHA IF (row)                                               

//PRINTA O RESULTADO  
echo $xml;

Teria jeio de adpatar esses código para o q eu preciso?

Valeu pela ajuda

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...