Não funciona do IE
| « Tópico anterior |
|
|
Desenvolvimento e design |
|
|
Próximo tópico » |
Entre com seu usuário e senha ou registre-se no site para participar do forum.
| Autor | Mensagem |
|
Virgilio Lemos
|
Quarta-Feira, 9 de Setembro de 2009, 21:39:48
Não funciona do IEO código abaixo carrega automaticamente as opções de cidade para o estado selecionado, baseado na array.Está funcionando ok para o Firefox, mas no IE a cidade selecionada fica em branco. Alguém pode me dar uma dica do que pode causar isso ou sugerir outra forma de concatenar os resultados em ? Já verifiquei que o problema está na concatenação.
{literal}
<script language="JavaScript">
<!—Begin
cidade = new Array(
new Array(
new Array(""
<form name="Options" action={"/content/search"|ezurl}>
<select name=" Estado" id="search-selection-estado" onChange="fillSelectFromArray(this.form.Cidade, ((this.selectedIndex == -1) ? null : cidade[this.selectedIndex-1]));">
<option selected="selected" value="">
<option selected="selected" value= RJ> RJ
</select>
<select name=" Cidade" id="search-selection-cidade">
<option selected="selected"> </option>
</select>
</form >
<input type="hidden" name="SearchText" id="search-text" value="{$SearchText}" />
<input id="searchbutton" class="button" type="submit" value="{'Search'|i18n('design/ezwebin/pagelayout')}" alt="{'Search'|i18n('design/ezwebin/pagelayout')}" onclick="var
est = document.getElementById('search-selection-estado'),
cid = document.getElementById('search-selection-cidade'),
searchTxt = document.getElementById('search-text');
searchTxt.value = '+' + est.value + ' +' + cid.value;
" />
</form>
|
|
|
Quinta-Feira, 10 de Setembro de 2009, 23:54:34
Como disse antes, o problema está na concatenação as opções selecionadas que está sendo feita com o código:
searchTxt.value = '+' + est.value + ' +' + cid.value; Alguem sabe de outra maneira para concatenar Estado + Cidade em SearchText? |
|
|
Sexta-Feira, 11 de Setembro de 2009, 13:16:16
Oi Virgilio,
Tenta isso: searchTxt.value = '+' + est.options[est.selectedIndex].value + ' +' + cid.options[cid.selectedIndex].value; Abs |
|
|
Sexta-Feira, 11 de Setembro de 2009, 18:46:52
Renan,
Testei e não funcionou. Você conhece alguma outra forma de se capturar o valor selecionado? O input está enviando corretamente os três paramentros, isto é, passa os dois do select e mais o searchTxt, da seguinte forma: /content/search?SearchText=+RJ&Estado=RJ&Cidade=Niteroi Só que o SearchText, que deveria ser a concatenação de estado + cidade, só contém estado. Já apliquei com outras seleções estáticas e todas funcionam ok. Só não funciona com seleção dinâmica. Você consegue ver outra solução para este caso? Grato, |
|
|
Domingo, 13 de Setembro de 2009, 20:00:33
Oi Virgilio,
Acho que o ideal seria você utilizar um depurador para o IE, ja fiz esse tipo de seleção dinamica com concatenação sem problemas, mas como sabemos que o IE nao é muito amigável, adiciona o firebug lite: <script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script> Espero que ajude Abs |
|
|
Terça-Feira, 15 de Setembro de 2009, 0:00:16
Renan,
Testei com o firebug e ativei uma função onChange e mostrou que o .value do select no IE fica sempre "", não importando a seleção feita. No firefox ele mostra corretamente .value mudando com a seleção efetuada. Portanto, não é uma questão de método de concatenação e sim de como o IE lida com seleções dinâmicas. Alguma idéia sobre o que causa isso? Alguma outra sugestão? |
|
|
Terça-Feira, 15 de Setembro de 2009, 1:27:26
Testei também nos browsers Google Crome e Epiphany e funcionaram ok.
O interessante é que, se deixo tudo num único form, todos os parâmetros são passados corretamente no submit, isto é, passa Estado, Cidade e SearchTxt. Ex: /content/search?Estado=RJ&Cidade=Niteroi&SearchText=%2BRJ+ Por aí se conclui que o valor Niterói foi selecionado, mas não é encontrado pelo método getelementbyid para ser usado na concatenação que forma o SearchText, ficando este incompleto. |
|
|
Terça-Feira, 15 de Setembro de 2009, 10:42:19
Oi Virgilio,
Ajudaria se isso estivesse online para darmos uma olhada, por hora, creio que posso te dizer um pouco da minha experiencia com esse problema: O campo de formulário select no IE deve estar com o value do option preenchido, ou seja, o javascript que seta dinamicamente as opções, deve colocar corretamente o value no option, caso contrario não funciona a captura no IE. Tente inspecionar o elemento utilizando o web developer toolbar para o IE http://www.microsoft.com/download...BB3E-2D5E1DB91038&displaylang=en Abs |
|
|
Terça-Feira, 15 de Setembro de 2009, 14:47:22
Renan,
Você acertou em cheio. O formato do array que eu estava usando não continha o value a ser carregado no option:
new Array("Niteroi",
Mudei para :
new Array("Niteroi","Niteroi",
E agora está funcionando em todos os Browsers. Muitíssimo grato pelo seu suporte. |
