Tenho o script abaixo e preciso trocar onde tem <?=$campo;?> por uma variavel javbascript var campo;
Na verdade, estava usando como um arquivo php e esta dando certo mas ai tenho que fazer include na pagina.
Agora quero apenas fazer referencia do Js.
var campo = "cidades"; -->> Pois é. preciso que o valor dessa variavel substitua em todos os luigares que esta o <?=$campo:> do php mas não sei com,o fazer essa convatenação.
function Dados<?=$campo;?>(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].<?=$campo;?>.options.length = 1;
idOpcao = document.getElementById("opcoes<?=$campo;?>");
ajax.open("POST", "<?=$campo;?>.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<?=$campo;?> que vai varrer os Dados<?=$campo;?>*/
if(ajax.readyState == 4 ) {
if(ajax.responseXML) {
processXML<?=$campo;?>(ajax.responseXML);
}
else {
/*caso não seja um arquivo XML emite a mensagem abaixo */
idOpcao.innerHTML = "--Primeiro selecione o estado--";
}
}
}
/*passa o código do estado escolhido */
var params = "estado="+valor;
ajax.send(params);
}
}
function processXML<?=$campo;?>(obj){
/*pega a tag <?=$campo;?> */
var dataArray = obj.getElementsByTagName("<?=$campo;?>");
/*total de elementos contidos na tag <?=$campo;?> */
if(dataArray.length > 0) {
/*percorre o arquivo XML paara extrair os Dados<?=$campo;?> */
for(var i = 0; i < dataArray.length; i++) {
var item = dataArray[i];
/*contéudo dos campos no arquivo XML */
var codigo = item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
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<?=$campo;?>");
/*atribui um valor */
novo.value = codigo;
/*atribui um texto */
novo.text = descricao;
/*finalmente adiciona o novo elemento */
document.forms[0].<?=$campo;?>.options.add(novo);
}
}
else {
/*caso o XML volte vazio, printa a mensagem abaixo */
idOpcao.innerHTML = "--Primeiro selecione o estado--";
}
}
Pergunta
Carlos Rocha
Ola pessoal.
Não tenho muita esperiencia em JS.
Tenho o script abaixo e preciso trocar onde tem <?=$campo;?> por uma variavel javbascript var campo;
Na verdade, estava usando como um arquivo php e esta dando certo mas ai tenho que fazer include na pagina.
Agora quero apenas fazer referencia do Js.
var campo = "cidades"; -->> Pois é. preciso que o valor dessa variavel substitua em todos os luigares que esta o <?=$campo:> do php mas não sei com,o fazer essa convatenação. function Dados<?=$campo;?>(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].<?=$campo;?>.options.length = 1; idOpcao = document.getElementById("opcoes<?=$campo;?>"); ajax.open("POST", "<?=$campo;?>.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<?=$campo;?> que vai varrer os Dados<?=$campo;?>*/ if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML<?=$campo;?>(ajax.responseXML); } else { /*caso não seja um arquivo XML emite a mensagem abaixo */ idOpcao.innerHTML = "--Primeiro selecione o estado--"; } } } /*passa o código do estado escolhido */ var params = "estado="+valor; ajax.send(params); } } function processXML<?=$campo;?>(obj){ /*pega a tag <?=$campo;?> */ var dataArray = obj.getElementsByTagName("<?=$campo;?>"); /*total de elementos contidos na tag <?=$campo;?> */ if(dataArray.length > 0) { /*percorre o arquivo XML paara extrair os Dados<?=$campo;?> */ for(var i = 0; i < dataArray.length; i++) { var item = dataArray[i]; /*contéudo dos campos no arquivo XML */ var codigo = item.getElementsByTagName("codigo")[0].firstChild.nodeValue; 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<?=$campo;?>"); /*atribui um valor */ novo.value = codigo; /*atribui um texto */ novo.text = descricao; /*finalmente adiciona o novo elemento */ document.forms[0].<?=$campo;?>.options.add(novo); } } else { /*caso o XML volte vazio, printa a mensagem abaixo */ idOpcao.innerHTML = "--Primeiro selecione o estado--"; } }Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
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.