erro de validação dhtml

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/
 
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:
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
 
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?
 
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
 
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:
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
 
Back
Topo