none
OnClientClick funciona no IE, mas não no FireFox RRS feed

  • Pergunta

  • Pessoal alguém sabe dizer pq a situação abaixo funciona no IE, porém não funciona no FireFox?

    por exemplo quando utilizo o form com o IE eu consigo recuperar no XML, mas com o FireFox Não...

     

    string strXmlRespostaEnquete = xmlRespostaEnquete.Value.ToString(); // IE recupera, FireFox Não...

     

     

    <script type="text/javascript">
    
            function enviarForm() {
    
                alert(oXML.xml);
    
                document.getElementById('xmlRespostaEnquete').value = oXML.xml;
    
            }
    
    
    </script>

     

    <asp:Button CssClass="botao" ID="Enviar" runat="server" Text="Enviar" onclick="Enviar_Click" OnClientClick="enviarForm();"  />

     


    SerraVentura
    quarta-feira, 30 de junho de 2010 15:20

Respostas

  • Amigo,
    A rquisição do arquivo xml no IE é diferente da requisição no FF,Chrome,Op...
    Veja esse código:

     

     

    <script type="text/javascript">
    if (window.XMLHttpRequest)
     {
     xhttp=new XMLHttpRequest();
     }
    else // for IE 5/6
     {
     xhttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
    xhttp.open("GET","books.xml",false);
    xhttp.send();
    xmlDoc=xhttp.responseXML;
    document.write("XML document loaded into an XML DOM Object.");
    </script>

     

    Dê uma olhada nisso aqui:
    http://www.w3schools.com/dom/dom_loadxmldoc.asp

     




    Notepad na mão e uma idéia na cabeça......Se foi útil, marca lá.... Me ajuda que eu marco também... heheheh
    • Editado Glauber Rocha quarta-feira, 30 de junho de 2010 18:45 complemento
    • Sugerido como Resposta Glauber Rocha quinta-feira, 1 de julho de 2010 16:22
    • Marcado como Resposta Harley Araujo quarta-feira, 7 de julho de 2010 17:22
    quarta-feira, 30 de junho de 2010 18:42
  • A resposta do Glauber já defini o problema, se quiser outro código também tem o abaixo:

    function GetHttpRequest()
    	{
    		var xmlHttp;
    		try
    		{
    			xmlHttp = new XMLHttpRequest();
    		}
    		catch(e)
    		{
    			try
    			{
    				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    			}
    			catch(e)
    			{
    				try
    				{
    					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    				}
    				catch(e)
    				{
    					alert("Seu navegador não aceita AJAX");
    					return false;
    				}
    			}
    		}
    		return xmlHttp;
    	}

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    • Marcado como Resposta Harley Araujo quarta-feira, 7 de julho de 2010 17:22
    quarta-feira, 30 de junho de 2010 20:06
  • Pessoal alguém sabe dizer pq a situação abaixo funciona no IE, porém não funciona no FireFox?

    por exemplo quando utilizo o form com o IE eu consigo recuperar no XML, mas com o FireFox Não...

     

     

    string strXmlRespostaEnquete = xmlRespostaEnquete.Value.ToString(); // IE recupera, FireFox Não...
    
    

     

     

     

     

     

    <script type="text/javascript">
    
    
    
            function enviarForm() {
    
    
    
                alert(oXML.xml);
    
    
    
                document.getElementById('xmlRespostaEnquete').value = oXML.xml;
    
    
    
            }
    
    
    
    
    
    </script>
    
    

     

     

    <asp:Button CssClass="botao" ID="Enviar" runat="server" Text="Enviar" onclick="Enviar_Click" OnClientClick="enviarForm();"  />
    
    

     

     


    SerraVentura


    Aqui tem a solucao scroldown: http://forums.asp.net/t/1338588.aspx

    Thanks


    Just Be Humble Malange!
    • Marcado como Resposta Harley Araujo quarta-feira, 7 de julho de 2010 17:22
    sexta-feira, 2 de julho de 2010 17:48
    Moderador

Todas as Respostas

  • Olá , faz um teste com o firebug no mozilla e ver qual name ele está dando para seu componente
    xmlRespostaEnquete
    
    quarta-feira, 30 de junho de 2010 15:22
    Moderador
  • acho q é problema no javascript mesmo, preciso dazer cross-browser... o firefox ta apontando vários erros de JS...

     

    vou corrigir e volto pra dizer se é isso mesmo...


    SerraVentura
    quarta-feira, 30 de junho de 2010 16:19
  •  

    Tive um problema parecido a algum tempo atrás quando utilizada requições sincronas, e realmente o firefox tem um problema, que na verdade não é bem um problema, é que ele ignora se for assincrona, então se não for assincrona a chamada da função é normal, corrigi da seguinte forma.

    O método abaixo recebe se a requisição vai ser assincrono ou não.

     

    function LoadHttpRequest(type, url, async, func)
    	{
    		xhttp = GetHttpRequest();
    		if ( xhttp != null )
    		{
    			xhttp.open(type, url, async);
    			// Correçao de bug Firefox devido a não execução de métodos sync.
    			if (async)	
    				xhttp.onreadystatechange = function() { eval(func) }			
    			
    			xhttp.send(null);
    			
    			if (!async)
    				eval(func);
    		}
    		else
    		{
    			return false;
    		}
    	}

    Abraço

    Estevam

     

     


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    quarta-feira, 30 de junho de 2010 16:35
  • Fiz um script que manipula uma ilha XML, inclui NÓ, exclui NÓ, altera etc...
    funciona tudo certinho no IE, mas no firefox nada funciona... 

    estou trabalhando com
    var oXML = new ActiveXObject("Msxml.DOMDocument");

    mas sei que não é reconhecido pelo firefox, saberia o equivalente ?


    *OBS:não estou trabalhando com AJAX... 

    SerraVentura
    quarta-feira, 30 de junho de 2010 18:15
  • Amigo,
    A rquisição do arquivo xml no IE é diferente da requisição no FF,Chrome,Op...
    Veja esse código:

     

     

    <script type="text/javascript">
    if (window.XMLHttpRequest)
     {
     xhttp=new XMLHttpRequest();
     }
    else // for IE 5/6
     {
     xhttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
    xhttp.open("GET","books.xml",false);
    xhttp.send();
    xmlDoc=xhttp.responseXML;
    document.write("XML document loaded into an XML DOM Object.");
    </script>

     

    Dê uma olhada nisso aqui:
    http://www.w3schools.com/dom/dom_loadxmldoc.asp

     




    Notepad na mão e uma idéia na cabeça......Se foi útil, marca lá.... Me ajuda que eu marco também... heheheh
    • Editado Glauber Rocha quarta-feira, 30 de junho de 2010 18:45 complemento
    • Sugerido como Resposta Glauber Rocha quinta-feira, 1 de julho de 2010 16:22
    • Marcado como Resposta Harley Araujo quarta-feira, 7 de julho de 2010 17:22
    quarta-feira, 30 de junho de 2010 18:42
  • A resposta do Glauber já defini o problema, se quiser outro código também tem o abaixo:

    function GetHttpRequest()
    	{
    		var xmlHttp;
    		try
    		{
    			xmlHttp = new XMLHttpRequest();
    		}
    		catch(e)
    		{
    			try
    			{
    				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    			}
    			catch(e)
    			{
    				try
    				{
    					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    				}
    				catch(e)
    				{
    					alert("Seu navegador não aceita AJAX");
    					return false;
    				}
    			}
    		}
    		return xmlHttp;
    	}

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    • Marcado como Resposta Harley Araujo quarta-feira, 7 de julho de 2010 17:22
    quarta-feira, 30 de junho de 2010 20:06
  • não sei se estamos falando da mesma coisa, vcs estão falando de XMLHTTP para trabalhar com AJAX, eu estou falando de Msxml.DOMDocument onde eu manipulo uma ilha XML. não seriam objetos para fins diferentes ?

     

    orbigado pela ajuda.


    SerraVentura
    quinta-feira, 1 de julho de 2010 13:08
  • Pessoal alguém sabe dizer pq a situação abaixo funciona no IE, porém não funciona no FireFox?

    por exemplo quando utilizo o form com o IE eu consigo recuperar no XML, mas com o FireFox Não...

     

     

    string strXmlRespostaEnquete = xmlRespostaEnquete.Value.ToString(); // IE recupera, FireFox Não...
    
    

     

     

     

     

     

    <script type="text/javascript">
    
    
    
            function enviarForm() {
    
    
    
                alert(oXML.xml);
    
    
    
                document.getElementById('xmlRespostaEnquete').value = oXML.xml;
    
    
    
            }
    
    
    
    
    
    </script>
    
    

     

     

    <asp:Button CssClass="botao" ID="Enviar" runat="server" Text="Enviar" onclick="Enviar_Click" OnClientClick="enviarForm();"  />
    
    

     

     


    SerraVentura


    Aqui tem a solucao scroldown: http://forums.asp.net/t/1338588.aspx

    Thanks


    Just Be Humble Malange!
    • Marcado como Resposta Harley Araujo quarta-feira, 7 de julho de 2010 17:22
    sexta-feira, 2 de julho de 2010 17:48
    Moderador