Problemi con include di una tabella HTML
Author: Renzo V.Da poco ho scoperto che è possibile con jQuery generare l'evento onclick su una cella vuota di una tabella HTML.
Ho un vecchio progetto realizzato con WS8 che necessitava di questa possibilità e così ci ho messo mano.
La tabella è gestita in PHP e tramite una oggetto HTML l'ho inclusa nel progetto, esportando il progetto:
gli script vengono tenuti
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script><script type="text/javascript">
<tbody> viene tenuto
invece l'istruzione che permette il click sulla tabella
echo "<tr data-href=\"$click_cella\">\r\n";
che prevede un parametro all'interno del tag <tr>
viene persa e mi ritrovo sempre e solo il tag <tr>.
Ho provato anche, per evitare l'include, ad inserire tutto il codice HTML all'interno della cella ma il risultato è sempre lo stesso... conserva una parte degli aggiornamenti ma perde quelli all'interno del tag <tr>.
Evidentemente l'esportazione ci mette del suo, è possibile in qualche modo rendere più elastica la fase di esportazione eliminando questa correzione da parte di WS8.
Grazie per eventuali suggerimenti
Ciao, le informazioni che hai dato sono poche ma è strano quello che osservi. Ho provato la tua riga di codice in un oggetto html della 8 assegnando un valore arbitrario alla variabile $click_cella
<?php
$click_cella = 'Pippo';
echo "<tr data-href=\"$click_cella\">\r\n";
?>
esportato il progetto e nel sorgente trovo le stesse righe di codice scritte sopra. Nel sorgente della pagina processata trovo correttamente
<tr data-href="Pippo">
Presumo che tu abbia verificato che il codice al di fuori di ws funziona correttamente.
Author
Ciao e grazie per la risposta
in effetti nel sorgente esportato il <tr> è completo:
echo "<tr> data-href=\"$click_cella\">\r\n";
echo "<td width=\"36\" bgcolor=\"#FFFFCC\" style=\"margin:0px; padding:0px; border-top-width:0px; border-right-width:0px; border-bottom-width:$bottom; border-left-width:1px; border-right-color:rgb(204,153,0); border-bottom-color:rgb(204,153,0); border-left-color:rgb(204,153,0); border-top-style:solid; border-right-style:none; border-bottom-style:none; border-left-style:solid;\"><p align=\"center\"><font face=\"Verdana\"><span style=\"font-size:8pt;\">";
ma quello che ho sempre guardato è il sorgente pagina visualizzato dal browser che riporta:
<tr><tdwidth="36px" style="margin:0; padding:0; border-top-width:0px; border-right-width:0px; border-bottom-width:1px; border-left-width:1px; border-color:rgb(204,153,0); border-top-style:solid; border-right-style:none; border-bottom-style:none; border-left-style:solid;"><palign="center"><fontface="Verdana"><spanstyle="font-size:8pt;">
questo succede sia con Firefox che con Crome, guardando bene viene perso anche il bgcolor.
Erroneamente, vedendo che il click sulla tabella non funzionava, ho pensato che fosse l'esportazione WS a perdere qualcosa.
A questo punto come si spiega la differenza?
Author
errata corrige dell'istruzione riportata sopra
segnalazione errata
echo "<tr> data-href=\"$click_cella\">\r\n";
corretta
echo "<tr data-href=\"$click_cella\">\r\n";
il resto del post rimane inalterato
Ho provato anche le righe di codice che hai postato sempre attribuendo valori fissi alle due variabili presenti. E la pagina processata si comporta nel modo atteso. Ma i valori delle variabili sono fissi nel mio esempio. Ed è una prova parziale.
Il codice che leggi dal sorgente del browser è completamente diverso da quello che trovi nel file .php. Oltre alle differenze da te trovate, ce ne sono molte (troppe) altre:
width=\"36\" nel sorgente php e width="36px" nel sorgente della pagina processata
margin:0px; padding:0px; nel sorgente php e margin:0; padding:0; nel sorgente della pagina processata...
...il php non ha questi poteri.
Perdonami la domanda, ma sei sicuro di guardare la stessa pagina? E il codice, provato da solo, fuori da ws, funziona?
Author
Ti perdono... il dubbio era venuto anche a me.
Allego un'immagine e dettaglio meglio la situazione perchè strana è strana.
Per essere ancora più sicuro ho tolto l'include ed ho inserito in una cella HTML il codice.
La prima parte dell'immagine riporta parte del codice dove ho modificato Succ. in Succc. e mi ritrovo la modifica sulla pagine web. (seconda parte dell'immagine)
Sulla porzione di codice relativa al fatidico <tr ho modificato il font-size a 10 e magicamente me lo ritrovo a 8.
Come ultima prova ho cancellato la cella (il dubbio che stia sbagliando pagina sembra l'unica causa possibile) ma dalla pagina web sparisce la sezione.
Al momento lavoro in locale ma penso che la cosa non debba influire.
Confido ancora nella tua pazienza prima di chiamare un esorcista.
P.S. spero si veda l'immagine
Non so cosa dire. Troppe differenze, nessuna riconducibile a una causa logica... sembrano due porzioni diverse di codice.
Se vuoi allegare l'intero file lo posso provare.
Author
Ciao
ti allego la parte di codice HTML che ho incluso nella cella, fa riferimento a immagini e a mySql quindi bravo se riesci a districarti.
Tra una prova e l'altra pulisco sempre la cache per evitare che riproponga pagine vecchie anche se modificate.
Sembra che sia il PHP a comportarsi in modo strano oppure sto avendo una svista madornale...
Nel frattempo provo le seguenti cose:
Ti aggiorno
Author
Aspetta... Aspetta...
c'è la svista madornale...
In pratica per le righe vuote viene richiamata ora_vuota.php che ha caratteristiche simili a quelle del tabulato.
Verifico ma sicuramente l'inghippo è li...
Ti riaggiorno
Author
Ciao
cosa si fa in questi casi? basta cospargersi il capo di cenere?
Svista enorme... ho messo echo "<tr data-href=\"$click_cella\">\r\n"; anche in ore_vuote.php e funziona alla grande.
Ti ringrazio per la disponibilità e competenza... dubbi non ne hai mai avuti:
...il php non ha questi poteri.
Troppe differenze, nessuna riconducibile a una causa logica... sembrano due porzioni diverse di codice.
e così in effetti era.
Ancora Grazie.