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

erro de validação dhtml

Discussão em 'Web Development' iniciada por alfinete, 27 de Fevereiro de 2008. (Respostas: 10; Visualizações: 716)

  1. alfinete

    alfinete Power Member

    alguem me sabe dizer que erro é este

    que me da vo validador de html do w3.org
    Código:
    
    [LIST=1]
    [*]           [IMG]http://validator.w3.org/images/info_icons/error.png[/IMG]         Line 61, Column > 80:         XML Parsing Error:  attributes construct error.…" cellspacing="0" rules="all" class="tabela_estilo" ><tr class="gvHeader"><th…           [URL="http://validator.w3.org/feedback.html?uri=http%3A%2F%2Fwww.dgrhe.min-edu.pt%2FParsifal%2Flista.aspx;errmsg_id=xmlwf#errormsg"]✉[/URL]     
    [*]           [IMG]http://validator.w3.org/images/info_icons/error.png[/IMG]         Line 61, Column > 80:         XML Parsing Error:  Couldn't find end of Start Tag input line 61.…" cellspacing="0" rules="all" class="tabela_estilo" ><tr class="gvHeader"><th…[/LIST]

    construção da tabela
    Código:
    
     str = "<table id=\"tblPaging\" border=\"1\" cellspacing=\"0\" rules=\"all\" class=\"tabela_estilo\" >";
                str += "<tr class=\"gvHeader\"><th scope=\"col\">Escola</th>";
                str += "<th scope=\"col\">Nome</th><th scope=\"col\">QDV</th><th scope=\"col\">Estado</th><th scope=\"col\"></th><th scope=\"col\"></th></tr>";
                str += paginaDados(dt);
                str += "</table>";
                tabela = str;
    
    url para validação

    http://validator.w3.org/
     
  2. Armadillo

    Armadillo Folding Member

    tas apenas a validar o output de "tabela"?

    cumpz
     
  3. alfinete

    alfinete Power Member

  4. Armadillo

    Armadillo Folding Member

    e entao os body's, head's e afins?
    no minimo dos minimos,tens que colocar a tag body para isso ser html valido
     
    Última edição: 27 de Fevereiro de 2008
  5. alfinete

    alfinete Power Member

    não é necessario body pois isso esta a ser puxado num content form
     
  6. slack_guy

    slack_guy Power Member

    O erro não está aí. Tens de validar a página toda.

    Isto é válido:
    Código:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="pt_PT" xml:lang="pt_PT">
    
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>teste</title>
    </head>
    <body>
    <table id="tblPaging" border="1" cellspacing="0" rules="all" class="tabela_estilo" >
    <tr class="gvHeader">
    	<th scope="col">Escola</th>
    	<th scope="col">Nome</th>
    	<th scope="col">QDV</th>
    	<th scope="col">Estado</th>
    	<th scope="col"></th>
    	<th scope="col"></th>
    </tr>
    </table>
    </body></html>
    
    Testa em http://validator.w3.org/#validate_by_input+with_options
     
  7. Armadillo

    Armadillo Folding Member

    entao posta o html todo para dar uma olhadela, porque só com o teu codigo nao vou lá :)

    cumpz
     
  8. p3dro

    p3dro Power Member

    Como o Armadillo te disse, coloca aqui o código gerado, ou então um link para a página.

    Isto "paginaDados(dt);" devolve-te "bem" os <tr> e <td> da tabela?
     
  9. alfinete

    alfinete Power Member

    melhor falando

    funções em c# que fazem a tabela

    chama a tabela no load

    Código:
    private void load_grid()
            {
    
                Dados pag = new Dados();
    
                 pag.paging(Session["User"].ToString ());
                 
                // se existem candidatos
                if (pag.Paginas.Tables[0].Rows.Count > 0)
                {
                    pageTable(pag.Paginas.Tables[0]);
                }
                // sen n existem candidatos
                else
                {
                    lbmsg.Text = "Esta escola n tem candidatos";
                }
            }
    

    Dezanha o header da tabela

    Código:
     private void pageTable(DataTable dt)
            {
                string str = "";
    
                
                str = "<table id=\"tblPaging\" border=\"1\" cellspacing=\"0\" rules=\"all\" class=\"tabela_estilo\" >";
                str += "<tr class=\"gvHeader\">";
                str += "<th scope=\"col\">Escola</th><th scope=\"col\">Nome</th><th scope=\"col\">QDV</th><th scope=\"col\">Estado</th><th scope=\"col\">Teste</th><th scope=\"col\">Teste</th>";
                str += paginaDados(dt);
                str += "</tr></table>";
                
                tabela = str;
            }
    
    
    Põe os dados na tabela

    Código:
    
       private string paginaDados(DataTable dt)
            {
    
                string str = "";
                string work = "";
                int i=1;
                         
                    foreach (DataRow dr in dt.Rows)
                    {
                        //tira a extensão do file , pondo só o nome do mesmo
    
    
                        work = "<tr>";
                        work += "<td class=\"tdr1\"><span class=\"agrup\">";
                        work += dr[1].ToString() + "</span></td>";
                        work += "<td class=\"tdr2\"><span class=\"numescola\">";
                        work += dr[2].ToString() + "</span></td>";
                        work += "<td class=\"tdr3\">";
                        work += dr[3].ToString() + "</td>";
                        work += "<td class=\"tdr4\">";
    
                     
                        // se licensa esta tratada
                        if (dr[4].ToString() != "")
                        {
    
                            work += "<span class=\"estad\">" + "T" + "</span></td>";
                            work += "<td class=\"tdr6\">";
                            work += "<span class=\"spanbtntrata\"><input id=\"m" + dr[0].ToString() + "\" class=\"btn_2\" type=\"submit\"  disabled =\"disabled\" value=\"Tratar\" onclick=\"return colocaid(this.id)\"/></span>";
                            work += "</td>";
                            work += "<td class=\"tdr7\">";
                            work += "<span class=\"spanbtntrata\"><input id=\"n" + dr[0].ToString() + "\"class=\"btn_2\" type=\"submit\" value=\"Alterar\" disabled =\"disabled\" onclick=\"return colocaid2(this.id)\" /></span>";
                            work += "</td></tr>";
                            str += work;
    
                        }
                        // se licensa n esta tratada
                        else
                        {
                            work += "&nbsp;" + "</td>";
    
                            work += "<td class=\"tdr6\">";
                            work += "<span class=\"spanbtntrata\"><input id=\"t" + dr[0].ToString() + "\" class=\"btn_2\" type=\"submit\" value=\"Tratar\" onclick=\"return colocaid(this.id)\"/></span>";
                            work += "</td>";
                            work += "<td class=\"tdr7\">";
                            work += "<span class=\"spanbtntrata\"><input id=\"p" + dr[0].ToString() + "\"class=\"btn_2\" type=\"submit\" value=\"Alterar\" onclick=\"return colocaid2(this.id)\" /></span>";
                            work += "</td>";
                            work += "</tr>";
                            str += work;
                        }
                       
                        
                        //mostra so ate 15 registos
                        if ((++i) > 15)
                        {
                            lbmsg.Text = "Há mais de 15 Candidatos Por Favor contacte a Dgrhe";
                            break;
                        }
    
                    }
               
                
                 
                return str;
            }
    
    
    codigo aspx

    Código:
    <%@ Page Language="C#" theme="base"  MasterPageFile="~/base.Master" AutoEventWireup="true" CodeBehind="Lista.aspx.cs" Inherits="licadminescolar.Lista" Title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        
        <script type="text/javascript">
        function colocaid(id)
        {
        document.getElementById('idp').value = id;
        
        }
         function colocaid2(id)
        {
       
        document.getElementById('idp2').value = id;
        
        }
        </script>
    
    
        <fieldset>
            <legend  class="nomeEscola"><b>&nbsp;Lista de Candidatos da Escola <span class="azul"><%= nome_escola %>: </span>&nbsp;</b></legend>
     
            
            <div class="item_grid_paging">
                <%= tabela %>
            </div>
            <div class="mensagem_lista">
                <asp:Label ID="lbmsg" runat="server" CssClass="clblinfo1"></asp:Label>
            </div>
            
       <input id="idp" name="idp" type="hidden" />
       <input id="idp2" name="idp2" type="hidden" />
       
       
    </fieldset> 
    
    </asp:Content>
    
    
    Codigo gerado html ao correr da pagina

    Código:
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>
    	Untitled Page
    </title>
    
        <script type="text/javascript">
            if(window.history.forward(1) != null) 
            {
    			window.history.forward(1);			
    		}
        </script>
    
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /><link href="App_Themes/base/base.css" type="text/css" rel="stylesheet" /></head>
    <body>
        <form name="aspnetForm" method="post" action="Lista.aspx" id="aspnetForm">
    <div>
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJOTIwMjY4NzUzZGQgXMfLZLRL+V/D04NXidF8iWmrNQ==" />
    </div>
    
            <div id="wrapper">
                <div id="header">
                    <div id="logo">
                        <a href="http://www.dgrhe.min-edu.pt" style="border-color: White" accesskey="s">
                            <img src="images/logo.jpg" alt="Link para a página principal da DGRHE" /></a>
                        <div class="titulo" id="direc">
                            Direc&ccedil;&atilde;o Geral dos Recursos Humanos da Educa&ccedil;&atilde;o
                        </div>
                    </div>
                    <div id="header_form">
                        <h1>
                            Administração escolar</h1>
                    </div>
                    <div id="me">
                        <a href="http://www.min-edu.pt" accesskey="m">
                            <img src="images/ME.gif" alt="Link para o Ministério da Educação" /></a>
                    </div>
                </div>
                <div id="content">
                    
        
        <script type="text/javascript">
        function colocaid(id)
        {
        document.getElementById('idp').value = id;
        
        }
         function colocaid2(id)
        {
       
        document.getElementById('idp2').value = id;
        
        }
        </script>
    
    
        <fieldset>
            <legend  class="nomeEscola"><b>&nbsp;Lista de Candidatos da Escola <span class="azul">Dra. Laura Ayres: </span>&nbsp;</b></legend>
     
            
            <div class="item_grid_paging">
                <table id="tblPaging" border="1" cellspacing="0" rules="all" class="tabela_estilo" ><tr class="gvHeader"><th scope="col">Escola</th><th scope="col">Nome</th><th scope="col">QDV</th><th scope="col">Estado</th><th scope="col">Teste</th><th scope="col">Teste</th></tr><tr><td class="tdr1"><span class="agrup">401596</span></td><td class="tdr2"><span class="numescola">CARLA MARIA ABRANTES SANTOS</span></td><td class="tdr3">Faro</td><td class="tdr4">&nbsp;</td><td class="tdr6"><span class="spanbtntrata"><input id="t1110" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/></span></td><td class="tdr7"><span class="spanbtntrata"><input id="p1110"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" /></span></td></tr><tr><td class="tdr1"><span class="agrup">401596</span></td><td class="tdr2"><span class="numescola">JOSE ANTONIO CARDOSO ANSELMO PEREIRA</span></td><td class="tdr3">Faro</td><td class="tdr4">&nbsp;</td><td class="tdr6"><span class="spanbtntrata"><input id="t1166" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/></span></td><td class="tdr7"><span class="spanbtntrata"><input id="p1166"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" /></span></td></tr><tr><td class="tdr1"><span class="agrup">401596</span></td><td class="tdr2"><span class="numescola">MARIA FILOMENA MARTINS ESTEVÃO</span></td><td class="tdr3">Faro</td><td class="tdr4">&nbsp;</td><td class="tdr6"><span class="spanbtntrata"><input id="t1215" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/></span></td><td class="tdr7"><span class="spanbtntrata"><input id="p1215"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" /></span></td></tr><tr><td class="tdr1"><span class="agrup">401596</span></td><td class="tdr2"><span class="numescola">MARIA JOSE CONCEIÇAO BRITO VITORIA</span></td><td class="tdr3">Faro</td><td class="tdr4">&nbsp;</td><td class="tdr6"><span class="spanbtntrata"><input id="t1232" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/></span></td><td class="tdr7"><span class="spanbtntrata"><input id="p1232"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" /></span></td></tr><tr><td class="tdr1"><span class="agrup">401596</span></td><td class="tdr2"><span class="numescola">MARIA LIZETE HENRIQUES GUERREIRO</span></td><td class="tdr3">Faro</td><td class="tdr4">&nbsp;</td><td class="tdr6"><span class="spanbtntrata"><input id="t1242" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/></span></td><td class="tdr7"><span class="spanbtntrata"><input id="p1242"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" /></span></td></tr></table>
            </div>
            <div class="mensagem_lista">
                <span id="ctl00_ContentPlaceHolder1_lbmsg" class="clblinfo1"></span>
            </div>
            
       <input id="idp" name="idp" type="hidden" />
       <input id="idp2" name="idp2" type="hidden" />
       
       
    </fieldset> 
    
    
                </div>
                <div id="footer">
                    <div style="float: left; position: relative; left: 5px; top: -2px">
                        <img class="IMAGES" src="Images/acesso.png" alt="Símbolo de Acessibilidade à Web."
                            longdesc="http://www.acesso.umic.pt/sawdescrica.htm" width="27" height="27" />
                    </div>
                    <div id="ass" style="float: left; position: relative; left: 8px; top: 5px">
                        [<a href="http://www.acesso.umic.pt/sawdescrica.htm" class="cinzap" target="_blank"
                            title="Descrição do Símbolo de Acessibilidade à Web">D</a>]&nbsp;Verificação:
                        | <a href="http://www.tawdis.net" target="_blank" class="cinzap">Tawdis</a> |
                    </div>
                    <div id="footer_css" style="float: right; position: relative; left: -630px; top: 2px">
                        <a href="http://jigsaw.w3.org/css-validator/">
                            <img style="border: 0; width: 85px; height: 21px" src="http://jigsaw.w3.org/css-validator/images/vcss"
                                alt="Valid CSS!" />
                        </a>
                    </div>
                    <div id="footer_DHTML" style="float: left; position: relative; left: 125px; top: 2px">
                        <a href="http://validator.w3.org/check?uri=referer">
                            <img src="http://www.w3.org/Icons/valid-xhtml10-blue" alt="Valid XHTML 1.0 Transitional"
                                height="21" width="85" /></a>
                    </div>
                    <div id="tit" style="float: right; position: relative; left: 80px; top: 5px">
                        &Uacute;ltima actualiza&ccedil;&atilde;o 2008-02-26
                    </div>
                </div>
            </div>
        </form>
    </body>
    </html>
    
    
    

    codigo apenas da tabela com os dados
    que esta dentro do html posto anteriormente

    Código:
    
    <table id="tblPaging" border="1" cellspacing="0" rules="all" class="tabela_estilo" >
        <tr class="gvHeader">
            <th scope="col">Escola</th>
            <th scope="col">Nome</th>
            <th scope="col">QDV</th>
            <th scope="col">Estado</th>
            <th scope="col">Teste</th>
            <th scope="col">Teste</th>
        </tr>
        <tr>
            <td class="tdr1">
                <span class="agrup">401596</span>
            </td>
            <td class="tdr2">
                <span class="numescola">CARLA MARIA ABRANTES SANTOS</span>
            </td>
            <td class="tdr3">Faro</td>
            <td class="tdr4">&nbsp;</td>
            <td class="tdr6">
                <span class="spanbtntrata">
                    <input id="t1110" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/>
                </span>
            </td>
            <td class="tdr7">
                <span class="spanbtntrata">
                    <input id="p1110"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" />
                </span>
            </td>
        </tr>
        <tr>
            <td class="tdr1">
                <span class="agrup">401596</span>
            </td>
            <td class="tdr2">
                <span class="numescola">JOSE ANTONIO CARDOSO ANSELMO PEREIRA</span>
            </td>
            <td class="tdr3">Faro</td>
            <td class="tdr4">&nbsp;</td>
            <td class="tdr6">
                <span class="spanbtntrata">
                    <input id="t1166" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/>
                </span>
            </td>
            <td class="tdr7">
                <span class="spanbtntrata">
                    <input id="p1166"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" />
                </span>
            </td>
        </tr>
        <tr>
            <td class="tdr1">
                <span class="agrup">401596</span>
            </td>
            <td class="tdr2">
                <span class="numescola">MARIA FILOMENA MARTINS ESTEVÃO</span>
            </td>
            <td class="tdr3">Faro</td>
            <td class="tdr4">&nbsp;</td>
            <td class="tdr6">
                <span class="spanbtntrata">
                    <input id="t1215" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/>
                </span>
            </td>
            <td class="tdr7">
                <span class="spanbtntrata">
                    <input id="p1215"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" />
                </span>
            </td>
        </tr>
        <tr>
            <td class="tdr1">
                <span class="agrup">401596</span>
            </td>
            <td class="tdr2">
                <span class="numescola">MARIA JOSE CONCEIÇAO BRITO VITORIA</span>
            </td>
            <td class="tdr3">Faro</td>
            <td class="tdr4">&nbsp;</td>
            <td class="tdr6">
                <span class="spanbtntrata">
                    <input id="t1232" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/>
                </span>
            </td>
            <td class="tdr7">
                <span class="spanbtntrata">
                    <input id="p1232"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" />
                </span>
            </td>
        </tr>
        <tr>
            <td class="tdr1">
                <span class="agrup">401596</span>
            </td>
            <td class="tdr2">
                <span class="numescola">MARIA LIZETE HENRIQUES GUERREIRO</span>
            </td>
            <td class="tdr3">Faro</td>
            <td class="tdr4">&nbsp;</td>
            <td class="tdr6">
                <span class="spanbtntrata">
                    <input id="t1242" class="btn_2" type="submit" value="Tratar" onclick="return colocaid(this.id)"/>
                </span>
            </td>
            <td class="tdr7">
                <span class="spanbtntrata">
                    <input id="p1242"class="btn_2" type="submit" value="Alterar" onclick="return colocaid2(this.id)" />
                </span>
            </td>
        </tr>
        </table>
    
    
    
    no meu ponto de vista esta a faer tdo bem mas da o erro ja dito na primeira thread deste post

    gostsva que me ajudassem de que erro se trata
     
  10. slack_guy

    slack_guy Power Member

    Eu vou dizer-te onde é que está a falhar, mas ficas a dever-me uma cerveja :-)

    Código:
     work += "<span class=\"spanbtntrata\"><input id=\"n" + dr[0].ToString() + "\"[b][COLOR="Red"]FALTA ESPAÇO AQUI[/COLOR][/b]class=\"btn_2\" type=\"submit\" value=\"Alterar\" disabled =\"disabled\" onclick=\"return colocaid2(this.id)\" /></span>";
    
    ......
    
     work += "<span class=\"spanbtntrata\"><input id=\"p" + dr[0].ToString() + "\"[b][COLOR="Red"]FALTA ESPAÇO AQUI[/COLOR][/b]class=\"btn_2\" type=\"submit\" value=\"Alterar\" onclick=\"return colocaid2(this.id)\" /></span>";
    
    EDIT:
    É uma nóia programar dessa forma: concatenar variáveis com HTML, escape de caracteres... enfim... cada um faz a cama onde se deita :-P
     
    Última edição: 28 de Fevereiro de 2008
  11. alfinete

    alfinete Power Member

    reve de ser assim pois por uma table feita normalmente não passava na assesibiliadde
    e assim ja passou

    BOA VISÃO MAN

    THANKS FOR HELP

    AI VAI UMA GRADE

    EHEHEHEH

    Problema resolvido
     

Partilhar esta Página