1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Problema em select html + javascript

Discussão em 'Web Development' iniciada por Gurzi, 17 de Agosto de 2007. (Respostas: 7; Visualizações: 1856)

  1. Gurzi

    Gurzi Power Member

    Isto funciona às mil maravilhas no Firefox mas no IE não estou a conseguir por isto a trabalhar!

    Porquê ??
    <select name="loja" onchange="javascript:procura_encomendas(document.lojas.loja.value)">

    já tentei apenas this.value instead of documents.lojas.loja.value mas nada :s

    tenho o form aberto e fechado e no Firefox como disse, funciona às mil maravilhas :s

    Preciso de isto a correr no IE :s

    alguem tem alguma opinião ? [​IMG]

    ps : se eu tirar o this.value e puser eu mesmo uma string ele funciona :s
    [​IMG]
     
  2. SoundSurfer

    SoundSurfer Power Member

    envia só o "this" como parametro.

    ou usa o getElementById() em vez do document.xxx

    ou se calhar precisas de ir buscar o SelectedIndex ... -> select.options[select.selectedIndex].value
     
    Última edição: 17 de Agosto de 2007
  3. Gurzi

    Gurzi Power Member

    também ja experimentei, não da :s

    se eu passar o this todo ele passa o objecto SELECT e eu so quero o value do seleccionado!

    como funciona isso do getElementByID neste caso!?
     
  4. AliFromCairo

    AliFromCairo Power Member

    Usa o this como o SoundSurfer sugeriu. Depois de teres o objecto, para acederes ao valor seleccionado basta escreveres obj.value.

    Para o getElementById podes usar algo do género: document.getElementById('loja').value.

    Já agora, que versão do IE estás a usar ?
     
    Última edição: 17 de Agosto de 2007
  5. Gurzi

    Gurzi Power Member


    A versão é a 7.
    Já tentei das duas maneiras referidas e simplesmente não dá.

    se eu puser this, depois no javascript faço isto

    Código:
    function procura_encomendas(loja)
    {
       alert(loja.value);
       exit;
    
    }
    e ele mostra um alert em branco
    
    No firefox funciona perfeitamente.
    
    :s
    
    
    Vou deixar o código, é um bocado extenso mas prontos :s
    
    <%'#########################################################################
    '# Data : 14 Agosto 2007
    '# Autor: Tiago Palhota ( @  @ )
    '# Projecto: ---
    '# Tarefa : Criação de Guias
    '#
    '# + info  ---
    '#########################################################################
    %>
    <!--#include file="includes/Functions/db.asp"-->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <title>Login Users</title>
        <style type="text/css" media="all">@import "./CSS/topo.css";
         </style>    
    <link href="includes/Modulos/Calendario/CalendarControl.css" rel="stylesheet" type="text/css">
    <script src="includes/Modulos/Calendario/CalendarControl.js" language="javascript"></script>
    <script language="javascript">
    
    function procura_encomendas(loja)
    {
       alert(loja.value);
       exit();
    
        var ajaxRequest;  // The variable that makes Ajax possible!
        
        try{
            // Opera 8.0+, Firefox, Safari
            ajaxRequest = new XMLHttpRequest();
        } 
        catch (e){
            // Internet Explorer Browsers
            try{
                ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
                
                
            } catch (e) {
                try{
                    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                    
                } catch (e){
                    // Something went wrong
                    alert("Your browser broke!");
                    return false;
                }
            }
        }
      ajaxRequest.onreadystatechange = function()
      {
         if(ajaxRequest.readyState == 4)
         {
            document.getElementById("final").innerHTML = ajaxRequest.responseText;
          }
     }
     
     var queryString = "?loja=" + loja;
     
     ajaxRequest.open("GET","pesquisa_em_lojas.asp" + queryString,true);
     ajaxRequest.send(null);
    
     }
    
    
    </script>
    
    </head>
    <body>
    <div id="topo">
    <div id="logo"><img src="Images/logo_wikinet.gif"  alt="logo" /></div><br>
    <div id="menu">
    <img src="Images/seta.gif" alt="seta"/>
    <span class="texto-menu">Prepara&ccedil;&atilde;o Envios Loja</span><br>
    <img src="Images/seta.gif" alt="seta"/>
    <span class="texto-menu">Visualizar e Consultar Guias</span><br>
    <img src="Images/seta.gif" alt="seta"/>
    <span class="texto-menu">Pesquisa</span><br>
    
    
    </div>
    </div>
    <div id="topo-direita">
    <img src="Images/www.gif"  alt="www" /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <img src="Images/a_fnac_24h.gif"  alt="fnac24h"/><br>
    <div id="content">
    <div id="pesquisa-topo2">
    
    <table border="0" collspan="0" padding="0">
    <tr>
    <td>Lojas Fnac</td>
    <td><form name="tratalojas" method="GET" action="">
    <select name="loja" id="loja" onChange="procura_encomendas( this)">
    <option selected>Escolha a Loja </option>
    <% 
    Set Rs = CreateObject("Adodb.RecordSet")
    query = "SELECT s_displayName FROM Lojas"
    Rs.open query,Connection
    
    while NOT Rs.EOF
       Response.write "<option>" & Rs("s_displayName") & "</option>"
       Rs.MoveNext
    wend
    %>
    </select>
    </td>
    </tr>
    </tr></table>
    </form>
    </div>
    <div id="topo-direita2">
    <img src="images/adicionar.gif" alt="" border=0 />&nbsp;<span class="formata-dados">Adicionar Encomenda</span>
    </div>
    
    </div>
    <div id="final">
    
    </div>
    </div>
    </body>
    </html>
    
     
    Última edição pelo moderador: 17 de Agosto de 2007
  6. Gurzi

    Gurzi Power Member

    já encontrei, não estava a atribuir nenhum value nos select, pensei que ele próprio assumia isso no valor entre os <option>

    Outra coisa, agora ele so me reconhece a palavra até encontrar um espaço, como consigo passar a palavra inteira ?

    isto é em asp
     
  7. AliFromCairo

    AliFromCairo Power Member

    Experimenta colocar aspas no atributo value: <option value="Palavra ABC">.
     
  8. Gurzi

    Gurzi Power Member


    Nem mais,

    Duas horas perdidas nisto, parece impossível lol !

    Obrigado camarada!

    1 -0 ganhas tu :P
     

Partilhar esta Página