Ir para conteúdo

POWERED BY:

Arquivado

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

renatoraioz

php + javascript - ok no firefox, problema no IE

Recommended Posts

olá pessoal... estou com um problemao.. todo meu sistema depende disso... eu uso um script em php para listar registros numa combo, e uso um javascript que faz com que selecionando um dos registros da combo vá para outra pagina....

 

script em php eh esse:

 

$listar_regioes = mysql_query("SELECT nomeregiao FROM pleiade_regioes order by nomeregiao asc"); echo "<select name=regiao onChange=\"getRegiao(this)\";>   <option value=''>Filtrar por Regiões</option>";while ($row = mysql_fetch_array($listar_regioes)) { echo "<option>$row[0]</option>"; } echo "</select>";

com o script acima, aparece as registros do banco numa combo... eu abro ela, seleciono o registro, e assim vou para outra pagina... o problema eh que no IE uma das variaveis nao passa para a outra pagina.. no firefox passa sem problemas.... nao consigo entender pq...

 

o javascript, que funciona no firefox e nao funciona no ie eh esse:

 

function getRegiao(what) {  if (what.selectedIndex != '') {    var regiao = what.value;    document.location=(' campanhas_incluir_loja_camp_regiao.php?campanha=<? echo"$campanha"; ?>&regiao=' + regiao);  }}

O QUE ACONTECE??

 

eh o seguinte... no firefox, vou para outra pagina assim: pagina.php?campanha=5&regiao=10

 

no ie, fica assim: pagina.php?campanha=5&regiao=

 

ou seja, nao leva junto a variavel regiao... sempre testei no firefox com sucesso.. vui mostrar pro cliente e o cara usa IE e deu xabu... ja faz alguns dias, e nao consigo fazer com que funcione legal no IE.... sem levar a variavel regiao, da tudo errado... e como serao varios registros, nao tem como fazer de outra maneira...

 

alguem ae da uma mao por favor!!!

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro eh simples, na sua funcao em Javascript, troque o nome da variavel regiao por outra coisa (regiaoV por exemplo) pq o IE ta tipo buscando direto no seu select, pois o select ja tem o nome regiao, eh realmente uma esculhambacao do IE... mas temos q conviver com isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,

 

Aproveitando esse post, estou com uma dificuldade similar a do Renato. O meu caso e o seguinte:

 

eu uso um script em php para listar estados numa combo, e uso um javascript que faz com que selecionando um dos estados da combo faça um reload para trazer numa outra combo os municipios. No IE essa combinação funciona normalmente, mas no Firefox nao ta funcionando! Vou postar a função java que uso:

 

function RetornaValor(){  form1.submit(form1.submit);}
Agora vou postar a combo do estado e do municipio:

estado:

PHP

[*]<select name="CD_UF" onChange="RetornaValor()" class="list_box">

[*] <option selected>Selecione</option>

[*]<?//primeira COMBO

[*]$conn = OCILogon("user","pass","db");

[*]$curs = OCINewCursor($conn);

[*]$stmt = OCIParse($conn,"begin pesca.pescasp05_detalhe_uf( :P _cursor,null); end;");

[*]

[*]OCIBindByName($stmt," :P _cursor",$curs,-1,OCI_B_CURSOR);

[*]OCIExecute($stmt,OCI_DEFAULT);

[*]OCIExecute($curs,OCI_DEFAULT);

[*]while(OCIFetchInto($curs,$data,OCI_RETURN_NULLS|OCI_ASSOC)){

[*]echo "<option value=".$data['COD_UF'].">".$data['SIG_UF']."</option>";

[*]}

[*]OCIFreeStatement($stmt);

[*]OCIFreeCursor($curs);

[*]OCILogoff($conn);

[*]

[*]if ($_POST["CD_UF"] == null){

[*]echo "<script>form1.CD_UF.value = '0'</script>";

[*]}

[*]else{

[*]echo "<script>form1.CD_UF.value = '".$_POST['CD_UF']."'</script>";

[*]}

[*]?>

[*]</select>

 

Municipio:

PHP

[*]<select name="CD_MUNICIPIO" class="list_box">

[*]<option selected>Selecione</option>

[*]<?//segunda COMBO

[*]$conn = OCILogon("user","pass","db");

[*]$curs = OCINewCursor($conn);

[*]$stmt = OCIParse($conn,"begin pesca.pescasp04_detalhe_municipio( :P _cursor,'".$_POST['CD_UF']."'); end;");

[*]

[*]OCIBindByName($stmt," :P _cursor",$curs,-1,OCI_B_CURSOR);

[*]OCIExecute($stmt,OCI_DEFAULT);

[*]OCIExecute($curs,OCI_DEFAULT);

[*]while(OCIFetchInto($curs,$data,OCI_RETURN_NULLS|OCI_ASSOC)){

[*]echo "<option value='".$data['COD_MUNICIPIO']."'>".$data['NOM_MUNICIPIO']."</option>";

[*]}

[*]OCIFreeStatement($stmt);

[*]OCIFreeCursor($curs);

[*]OCILogoff($conn);

[*]

[*]if ($_POST["CD_MUNICIPIO"] == null){

[*]echo "<script>form1.CD_MUNICIPIO.value = '0'</script>";

[*]}

[*]else{

[*]echo "<script>form1.CD_MUNICIPIO.value = '".$_POST['CD_MUNICIPIO']."'</script>";

[*]}

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

todas as vezes q você faz referencia ao form1 (exemplo: form1.CD_MUNICIPIO.value) antes de form1 coloque: document.forms.exemplo: document.forms.form1.CD_MUNICIPIO.valuetroque todos (incluindo o da sua funcao em Javascript la em cima)e tipo, eu n vi c você usou name pro form, ou c você usou ID, c você tiver usado ID, as referencias devem ficar assim:exemplo: document.getElementById("form1").CD_MUNICIPIO.value

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Wilker,Em relação ao form eu estou usando o name sim! Muito obrigada mesmo pela orianteção!!! Agora esta funcionando!!!Abraços,Flávia

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.