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

Ajax


fsf

Pergunta

Pessoal,

To com uma pequena duvida..

Como faço para tratar um erro de uma tag vazia.. Exemplo depois de fazer uma consulta e retornar um xml com dados do bd..

a tag crm pode estar em branco.. toda vez que esta tag está em branco o resultado da consulta não é exibido na tela.. alguém sabe como posso resolver este pequeno problema??

vejam o codigo:

function processXML(obj){

//pega a tag cidade

var dataArray = obj.getElementsByTagName("medicos");

//total de elementos contidos na tag cidade

if(dataArray.length > 0) {

//percorre o arquivo XML paara extrair os dados

for(var i = 0 ; i < dataArray.length ; i++) {

var item = dataArray;

//contéudo dos campos no arquivo XML

var descricao = item.getElementsByTagName("nome")[0].firstChild.nodeValue;

var cr = item.getElementsByTagName("crm")[0].firstChild.nodeValue;

///idOpcao.innerHTML = "Selecione um Material";

// alert(descricao);

//cria um novo option dinamicamente

//var novo = document.createElement("textbox");

//atribui um ID a esse elemento

// novo.setAttribute("id", "opcoes");

//atribui um valor

//novo.value = descricao;

//atribui um texto

// novo.text = descricao;

//finalmente adiciona o novo elemento

document.forms[0].nome.value = descricao;

document.forms[0].crm.value = cr;

}

}

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Vamos ver se eu entendi... essa tag vazia seria quando a consulta retorna vazia??

Voce quer que apareça o que quando for vazia? porque você pode fazer um if com a linguagem de programação que você esteja usando para que exiba alguma mensagem tipo "Não foram encontrados nenhum resultado para a sua pesquisa"...

Link para o comentário
Compartilhar em outros sites

  • 0

OI Andreia....

Tenho duas tags.. uma com o nome do medico e outra com o crm.. em alguns registros do banco o campo crm está em branco...

Mas o nome do medico não.. na hora na exibição da consulta, se a tag crm estiver em branco o nome do medico não aparece causando o seguinte erro:

Erro: item.getElementsByTagName("crm")[0].firstChild has no properties
Arquivo-fonte: http://localhost/sigex/servicos/medico.js
Linha: 64

queria tratar este erro para que mesmo com a tag crm em branco o nome do medico seja exibido no form!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal..

Agora estou fazendo a verificação..

Ficou assim:

var cr =  pegaValor(item.getElementsByTagName("crm")[0]);
function pegaValor(no){
  if(no.childNodes.length>0)//tem filho
  {
    return no.firstChild.nodeValue
  }else{
    try{
      return no.nodeValue
    }catch(e){ return "";}
  }
}

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