Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   HTML, Javascript y otros (https://www.clubdelphi.com/foros/forumdisplay.php?f=38)
-   -   Error en este código. FF funciona/IE da error (https://www.clubdelphi.com/foros/showthread.php?t=50273)

papulo 13-11-2007 18:22:44

Error en este código. FF funciona/IE da error
 
Lo primero es lo primero,

gente os presento el código que da el error:
Código PHP:

<div style="padding: 10px;"
    <
form name="buscador" method="post" action="index.php"
        <
input id="companyaddressid" name="companyaddressid" type="hidden" value="" onkeypress="" /><br /> 
        <
input id="yourname" name="yourname" style="width: 60%; height: 16px;" type="text" value="" autocomplete="off" onkeypress="autocomplete(this.value, event)" /> 
        <
input type="submit" value="Buscar..."  /> 
    </
form
</
div

De hecho, el error está localizado en la segunda linea.

<form name="buscador" method="post" action="index.php">

No tengo la mas remota idea de porque en Firefox va bien y en IE falla.

El error me da la consola del IE (ese triangulito amarillo que sale con una exclamación, en la parte inferior izquierda del IExplorer) dice que "El objeto no acepta esta propiedad o método".

No tengo la mas mínima idea de por que falla o por donde cogerlo, pero encontrar el puto error me ha costado un huevo y parte del otro, así que espero me ayudeis a rematar la faena.

Gracias y estaré mirando a ver que puede ser.

PD: Si falta info o código, me lo decis y añado mas, pero como no se la naturaleza del error, no me paso poniendo lineas y líneas.

dec 13-11-2007 18:31:49

Hola,

Prueba a quitar el atributo "name" de los formularios. Si no estoy equivocado, es un atributo que no se acepta en dicho elemento. :)

Según el W3C el atributo se acepta sólo por compatibilidad hacia atrás, y, en su lugar puede usarse el atributo "id". Tal vez sea eso. ;)

Por otro lado, el "autocomplete" no aparece por lado alguno...

papulo 13-11-2007 18:51:32

Aquí va "autocomplete"

Código PHP:

function autocomplete (thevaluee){ 
         
        
theObject document.getElementById("autocompletediv"); 
         
        
theObject.style.visibility "visible"
        
theObject.style.width "152px"
         
        var 
posx 0
        var 
posy 0
         
        
posx = (findPosX (document.getElementById("yourname")) + 1); 
        
posy = (findPosY (document.getElementById("yourname")) + 23); 
         
        
theObject.style.left posx "px"
        
theObject.style.top posy "px"
         
        var 
theextrachar e.which
         
        if (
theextrachar == undefined){ 
            
theextrachar e.keyCode
        } 
         
        
//The location we are loading the page into. 
        
var objID "autocompletediv"
 
        
//Take into account the backspace. 
        
if (theextrachar == 8){ 
            if (
thevalue.length == 1){ 
                var 
serverPage "html/index/autocomp.php"
            } else { 
                var 
serverPage "html/index/autocomp.php" "?sstring=" thevalue.substr (0, (thevalue.length -1)); 
            } 
        } else { 
            var 
serverPage "html/index/autocomp.php" "?sstring=" thevalue String.fromCharCode (theextrachar); 
        } 
         
        var 
obj document.getElementById(objID); 
        
xmlhttp.open("GET"serverPage); 
        
xmlhttp.onreadystatechange = function() { 
            if (
xmlhttp.readyState == && xmlhttp.status == 200) { 
                
obj.innerHTML xmlhttp.responseText
            } 
        } 
        
xmlhttp.send(null); 
    } 


dec 13-11-2007 19:04:55

Hola,

¿Pero diste con el problema? ¿Valió de algo quitar del medio el atributo "name"? Lo del "autocomplete" está muy bien... yo lo decía por el "atributo autocomplete", que parece ser "propietario" de Internet Explorer, porque no aparece en la especificación del elemento INPUT en el W3C, pero, chico... todo puede ser. :)

papulo 13-11-2007 20:06:39

No lo arreglé quitandole ese atributo.

Lo malo es que el IE tiene una consola de errores bastante parca (por no decir nula de cojones).

No se como seguir, pero ahora ya estoy en casita, y desconectaré un rato.

Mañana masssssss.

dec 13-11-2007 20:35:32

Hola,

Pues chico, yo le paso "el Tidy" al código en cuestión y lo único que me dice es:

Cita:

(Precaución) <input> proprietary attribute "autocomplete"
Así que no sé... lo mismo el problema está en otro lado. Aunque, con Internet Explorer nunca se sabe... :o

papulo 14-11-2007 09:36:48

Buenos días por la mañana!

10000000 gracias Dec, era ese el problema, lo del autocomplete.

Ahora usaré un script para que detecte el navegador, si es el explorer quitaré lo del autocomplete, que con el FF me va de fábula.

Una pregunta ¿eso del "tidy" como va? Ya me lo he descargado de los repositorios (uso ubuntu) pero no había escuchado nada de este programita.

Saludos y mil gracias de nuevo.

dec 14-11-2007 09:44:23

Hola,

Bueno. Me alegro de que fuera eso, hombre, y no fuera más allá el asunto. Respecto de Tidy... seguramente no sepa explicarme, pero, básicamente, es una librería (que puede usarse y de hecho se usa en muchos entornos, Delphi, sin ir más lejos) cuya función es la de comprobar que un determinado código HTML y/o XHTML esté bien formado y siga los estándares establecidos por el W3C, y que, además, puede hacer los cambios necesarios para que dicho código esté realmente bien formado.

Básicamente... creo que puede decirse así. Si buscas por ahí verás que no pocos programas (sobre todo editores de HTML) hacen uso de Tidy. Tidy es una gran ayuda para "recordar" lo que no se debe hacer, para saber lo que se está haciendo, en fin, para dejar documentos HTML como los chorros del oro. :D


La franja horaria es GMT +2. Ahora son las 20:31:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi