Ir ao conteúdo

Rotina em javascript não funciona no ie9


Baroboskin

Posts recomendados

Postado

Ola!

Estou aprendendo javascript ainda. Estudando, mas uma rotina para preenchimento de select onde, depois de selecionado o item, preenche o próximo select e, depois, preenche automaticamente os input text. Funciona no Chrome, Firefox, Safari mas, no IE, nem pensar.

Pesquisei em vários foruns, mas não encontrei uma solução. Quem puder, por favor, de uma olhada.

rede.php


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){

$("select[name=especial]").change(function(){
$("select[name=estado]").html('<option value="0">Carregando...</option>');

$.post("especial.php",
{especial:$(this).val()},
function(valor){
$("select[name=estado]").html(valor);
}
)
})




$("select[name=estado]").change(function(){
$("select[name=cidade]").html('<option value="0">Carregando...</option>');

$.post("cidade.php",
{estado:$(this).val()},
function(valor){
$("select[name=cidade]").html(valor);
}
)
})



$("select[name=cidade]").change(function(){
$("select[name=bairro]").html('<option value="0">Carregando...</option>');

$.post("bairro.php",
{cidade:$(this).val()},
function(valor){
$("select[name=bairro]").html(valor);
}
)
})



$("select[name=bairro]").change(function(){
$("select[name=nome]").html('<option value="0">Carregando...</option>');

$.post("clinica.php",
{bairro:$(this).val()},
function(valor){
$("select[name=nome]").html(valor);
}
)
})



$("select[name=nome]").change(function(){
var especial = $("input[name='especialtxt']");
var nome = $("input[name='nometxt']");
var endereco = $("input[name='enderecotxt']");
var tel1 = $("input[name='tel1txt']");
var bairro = $("input[name='bairrotxt']");
var cidade = $("input[name='cidadetxt']");
var estado = $("input[name='estadotxt']");

$( especial ).val('Carregando...');
$( nome ).val('Carregando...');
$( endereco ).val('Carregando...');
$( tel1 ).val('Carregando...');
$( bairro ).val('Carregando...');
$( cidade ).val('Carregando...');
$( estado ).val('Carregando...');

$.getJSON(
'infos.php',
{ nome: $( this ).val() },
function( json )
{
$( especial ).val(json.especial);
$( nome ).val(json.nome);
$( endereco ).val(json.endereco);
$( tel1 ).val(json.tel1);
$( bairro ).val(json.bairro);
$( cidade ).val(json.cidade);
$( estado ).val(json.estado);
}
);
});



})


</script>


<div id="palco_home">
<div class="qs">
<?php include("adm/conecta.php"); ?>
<form name="formulario" method="post" action="">
Selecione a especialidade:<br/>
<select name="especial" style="min-width:200px">
<option value="0"></option>

<?php
$consulta = mysql_query("SELECT * FROM $tbrc GROUP BY especial");
while( $row = mysql_fetch_assoc($consulta) )
{
echo "<option value=\"{$row['especial']}\">{$row['especial']}</option>\n";
}
?>

</select>
</p>
<p>Selecione o estado:<br/>
<select name="estado" style="min-width:200px"></select>
<option value="0"></option>
</p>
<p>Selecione a cidade:<br/>
<select name="cidade" style="min-width:200px"></select>
<option value="0"></option>
</p>
<p>Selecione o bairro:<br/>
<select name="bairro" style="min-width:200px"></select>
<option value="0"></option>
</p>
<p>Selecione o credenciado:<br/>
<select name="nome" style="min-width:200px" ></select>
<option value="0"></option>
</p>

Especialidade:<br />
<input name="especialtxt" type="text" size="50" /><br />
Nome:<br />
<input name="nometxt" type="text" size="50" readonly="readonly" /><br />
Endereço:<br />
<input name="enderecotxt" type="text" size="50" readonly="readonly" /><br />
Bairro:<br />
<input name="bairrotxt" type="text" size="50" readonly="readonly" /><br />
Telefone:<br />
<input name="tel1txt" type="text" size="50" readonly="readonly" /><br />
Cidade:<br />
<input name="cidadetxt" type="text" size="50" readonly="readonly" /><br />
Estado:<br />
<input name="estadotxt" type="text" size="50" readonly="readonly" /><br />
</form>
</div>
</div>

especial.php


<?php
include("adm/conecta.php");
$especial = $_POST['especial'];


$sql_cat=mysql_query("SELECT * FROM $tbrc WHERE especial = '$especial' GROUP BY estado") or die(mysql_error());
if(mysql_num_rows($sql_cat) == 0){
echo '<option value="0">Sem registro...</option>';
}else{
echo'<option>selecione</option>';

while($result_sql = mysql_fetch_assoc($sql_cat)){
echo '<option value="'.$result_sql['estado'].'">'.$result_sql['estado'].'</option>';
}
}


?>

Obrigado.

Baroboskin

Postado

Cara testei teu código modificando apenas o jquery para "https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" e funcionou até no IE7...

Dê mais detalhes...

Postado

Cara, troquei também o jquery e parou de funcionar até no Chrome.

Dê uma olhada em:

http://www.biosaudeservicosmedicos.com.br/rede.php

O site carrega o primeiro select, onde não utiliza javascript para carregar os registros do BD. Depois de selecionado o item nesse primeiro select, deveria carregar o segundo e assim por diante.

Quando seleciono o registro do primeiro select, ele até aparece o "Carregando..." no segundo, mas não popula como acontece no Chrome e Firefox.

Valeu.

Abraços

Postado

Como está o conecta.php?

Teu código funcionou legal aqui no Firefox e Chrome, no IE antes dos options ele retorna uma tag meta que acredito que seja a causa do erro...

Postado

Conecta.php

<?php 
include "config.php";

if(!($db = mysql_connect ($host, $login_db, $senha_db))) {
echo "<p align=\"center\"><big><strong>Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.
</strong></big></p>";
exit;
}

if(!($basedados = mysql_select_db($database))) {
echo " <p align=\"center\"><big><strong>Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.
</strong></big></p>";
exit;
}
?>

config.php

<?php
$pagina="config.php";
if(basename($_SERVER["PHP_SELF"])=='$pagina'){
die("<script>alert('Sem permição de acesso !')</script>\n<script>window.location=('../index.htm')</script>");
}
$host = "endereco_banco_de_dados";
$database = "banco_de_dados";
$login_db = "login";
$senha_db = "senha";
$tbrc = "credenciamento";
?>

Postado

Talvez apostaria com você antes de testar. Ainda bem que testei antes disso.

MATOU!

Valeu, cara. Realmente foi uma inocência da minha parte.

Resolvido...

Valeu mesmo!

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...