View Full Version : [HTML] cosa ha questo codice che non va su IE?
gurutech
02-03-2006, 23:10
come da titolo: firefox esegue la form php e IE no.
<HTML>
<TITLE>
Gestione delle stanze
</TITLE>
<LINK href="my.css" rel="stylesheet" type="text/css">
<BODY>
<DIV class=title>Gestione delle stanze</DIV>
<FORM action="amministra.php" method="post" name=amministra>
<TABLE>
<TR>
<TD class=admin>
<BUTTON type="submit" name="azione" value="crea" class="admin" title="Crea una nuova stanza">
<IMG SRC=filenew.gif title="Crea una nuova stanza">
</BUTTON>
</TD>
<TD class=admin>
<BUTTON type="submit" name="azione" value="gestisci" class="admin" title="Scegli una stanza esistente">
<IMG SRC=folder_home.gif title="Scegli una stanza esistente">
</BUTTON>
</TD>
<TD class=admin>
<BUTTON type="submit" name="azione" value="recupera" class="admin" title="Ripristina una stanza">
<IMG SRC=trashcan_full.gif title="Ripristina una stanza">
</BUTTON>
</TD>
<TD class=admin>
<BUTTON type="submit" name="azione" value="vedi" class="admin" title="Visualizza tutti i computer">
<IMG SRC=kghostview.gif title="Visualizza tutti i computer">
</BUTTON>
</TD>
</TR>
<TR>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
Secondo me non gradisce i troppi submit...
gurutech
03-03-2006, 08:08
Secondo me non gradisce i troppi submit...
e allora le form come le scrivo per IE :wtf:
OOOPS
ho scoperto l'arcano grazie ad una printf:
quando clicco submit su qualsiasi bottone IE fa submit di tutto un campo IMG.
it's an idiot!
ecco cosa mi trovo in submit:
<IMG SRC=\"kghostview.gif\" title=\"Visualizza tutti i computer\">
gurutech
03-03-2006, 08:44
aaarggghhh paura e panico!
tutte le volte che IE BUTTON alla fine del codice HTML che fa submit con lo stesso nome di un altro bottone nella pagina, invia sempre e comunque il contenuto dell'ultimo campo anche se si preme un altro pulsante. Come esco da questo bagno di sangue senza riscrivere decine di righe di codice ?
Posso mettere un icona usando un campo INPUT?
Utilizza diversi nomi (name) per ogni pulsante, altrimenti come distingui l'uno dall'altro?
Io sapevo (e fino a prova contraria sono ancora convinto ;)) che il submit riguarda l'intera form e non solo l'oggetto cui si riferisce.
Se vuoi tenere il codice così com'è devi aprire e chiudere la form prima di ogni button, per es.:
<TD class=admin>
<FORM action="amministra.php" method="post" name=amministra>
<BUTTON type="submit" name="azione" value="crea" class="admin" title="Crea una nuova stanza">
<IMG SRC=filenew.gif title="Crea una nuova stanza">
</BUTTON>
</FORM>
</TD>
<TD class=admin>
<FORM action="amministra.php" method="post" name=amministra>
<BUTTON type="submit" name="azione" value="gestisci" class="admin" title="Scegli una stanza esistente">
<IMG SRC=folder_home.gif title="Scegli una stanza esistente">
</BUTTON>
</FORM>
</TD>
Altrimenti:
1) aggiungi un campo hidden di nome, ad es., daSpedire
2) sostituisci tutte le dichiarazioni type="submit" con type="button" e ci metti un onclick="cambiaValore(valore)"
3) fai una funzione javascript che fa qualcosa del tipo:
document.amministra.daSpedire.value=valore;
document.amministra.submit();
gurutech
03-03-2006, 15:50
non sono un grande esperto di HTML:
da quel che ho capito in pratica ogni form può regolarmente contenere un solo oggetto di tipo submit?
non sono un grande esperto di HTML:
da quel che ho capito in pratica ogni form può regolarmente contenere un solo oggetto di tipo submit?
Si, perché il submit è riferito alla form, che può avere n-mila valori in campi hidden (caricati dal programmatore o da una funzione javascript), in campi di testo (text o textarea), in campi di selezione (select, le tendine o checkbox, le spunte multiple, o radio, le spunte tra loro esclusive).
Se vuoi l'associazione bottone-submit, devi fare più form con nomi diversi mentre, se ti serve, l'action può anche essere uguale per tutte: poi vengono trasmessi solo i valori delle form per cui si è premuto il bottone.
gurutech
06-03-2006, 12:34
grazie a tutti. così funziona. va bene oppure uno che è più esperto di HTML rabbrividisce di fronte a questo codice ?
<HTML>
<TITLE>
Gestione delle stanze
</TITLE>
<LINK href="my.css" rel="stylesheet" type="text/css">
<BODY>
<DIV class=title>Gestione delle stanze</DIV>
<TABLE>
<FORM action="amministra.php" method="post" name=amministra>
<INPUT type=hidden name=azione value="">
<TR>
<TD class=admin>
<BUTTON type="button" class="admin" title="Crea una nuova stanza" onclick="document.amministra.azione.value='crea';document.amministra.submit();"><IMG SRC=filenew.gif title="Crea una nuova stanza"></BUTTON> </TD>
<TD class=admin>
<BUTTON type="button" class="admin" title="Scegli una stanza esistente" onclick="document.amministra.azione.value='gestisci';document.amministra.submit();"><IMG SRC=folder_home.gif title="Scegli una stanza esistente"></BUTTON>
</TD>
<TD class=admin>
<BUTTON type="button" class="admin" title="Ripristina una stanza" onclick="document.amministra.azione.value='recupera';document.amministra.submit();"><IMG SRC=trashcan_full.gif title="Ripristina una stanza"></BUTTON> </TD>
<TD class=admin>
<BUTTON type="button" class="admin" title="Visualizza tutti i computer" onclick="document.amministra.azione.value='vedi';document.amministra.submit();"><IMG SRC=kghostview.gif title="Visualizza tutti i computer"></BUTTON>
</TD>
</TR>
<TR>
</TR>
</FORM>
</TABLE>
</BODY>
</HTML>
Và bene, però sarebbe meglio un'organizzazione più pulita del codice, inoltre manca il tag <HEAD> tra HTML e TITLE e </HEAD> prima di body.
Dentro all'head, per organizzare meglio il codice e renderlo più rielaborabile (se devi fare delle modifiche, tocchi solo un punto) metti una funzione javascript.
Il tutto diventa:
<HTML>
<HEAD>
<TITLE>Gestione delle stanze</TITLE>
<LINK href="my.css" rel="stylesheet" type="text/css">
<SCRIPT type="text/javascript">
function invia(value)
{
document.amministra.azione=value;
document.amministra.submit();
}
</SCRIPT>
<BODY>
....
<BUTTON type="button" class="admin" title="Visualizza tutti i computer" onclick="invia('vedi')">.....
gurutech
06-03-2006, 14:33
tnx.
l'HEAD era una svista, so che ci va.
Fenomeno85
06-03-2006, 16:58
mmm mi sa che non è conforme a xhtml per sicurezza fai il validator.
~§~ Sempre E Solo Lei ~§~
gurutech
06-03-2006, 17:24
mmm mi sa che non è conforme a xhtml per sicurezza fai il validator.
cos'è xhtml ?
devo fare una piccola interfaccia che non sarà pubblicata su Internet, ma solo usata internamente, una volta che funziona decentemente su IE, firefox e per scrupolo Opera, mi pare che sono a posto. o no?
Fenomeno85
06-03-2006, 17:50
cos'è xhtml ?
devo fare una piccola interfaccia che non sarà pubblicata su Internet, ma solo usata internamente, una volta che funziona decentemente su IE, firefox e per scrupolo Opera, mi pare che sono a posto. o no?
il funzionare non è l'ottica di un programmatore :D ... comunque xhtml altro non è che scrivere in modo standard pagine web.
~§~ Sempre E Solo Lei ~§~
gurutech
06-03-2006, 19:29
il funzionare non è l'ottica di un programmatore :D ...
ma di un sistemista si!
ma di un sistemista si!
Tranquillo, è anche quello di un programmatore.
Dal mio punto di vista, un buon programma è un programma che funziona per quel che doveva fare.
Il resto viene dopo. Al cliente non interessa come lo fa, ma che lo faccia (a meno che il cliente non sia una software house che deve rivendere il codice).
Quando sento dei programmatori fare troppo i sofisticati sulle alte tecniche si sviluppo, secondo gli standard più consolidati, ecc. ecc., e poi il programma non funziona, resto se non altro perplesso.... :mbe:
(senza riferimenti a chichessia sul forum, perché di fatto non conosco nessuno ;))
Fenomeno85
06-03-2006, 20:04
Tranquillo, è anche quello di un programmatore.
Dal mio punto di vista, un buon programma è un programma che funziona per quel che doveva fare.
Il resto viene dopo. Al cliente non interessa come lo fa, ma che lo faccia (a meno che il cliente non sia una software house che deve rivendere il codice).
Quando sento dei programmatori fare troppo i sofisticati sulle alte tecniche si sviluppo, secondo gli standard più consolidati, ecc. ecc., e poi il programma non funziona, resto se non altro perplesso.... :mbe:
(senza riferimenti a chichessia sul forum, perché di fatto non conosco nessuno ;))
a mio avviso seguire degli standard mondiali non sembra una cosa sbagliata anzi. Comunque seguire gli standard non significa fare programmi non funzionanti :D
~§~ Sempre E Solo Lei ~§~
gurutech
06-03-2006, 20:16
a mio avviso seguire degli standard mondiali non sembra una cosa sbagliata anzi. Comunque seguire gli standard non significa fare programmi non funzionanti
credo che abbiamo aperto una diatriba che può non finire mai. forse è meglio se ci diamo un taglio per tornare in topic :read:
a mio avviso seguire degli standard mondiali non sembra una cosa sbagliata anzi. Comunque seguire gli standard non significa fare programmi non funzionanti :D
Basta che poi il programma funzioni.
Per tornare in tema, è ovvio che se lo fai xhtml compliant dovrebbe funzionare.
Ma ricercare a tutti i costi xhtml se non ce n'è l'esigenza o la richiesta, non è un must. Se non è richiesto, meglio che funzioni subito non compliant che dopo 1 settimana compliant ;)
IMHO
Fenomeno85
06-03-2006, 21:47
Basta che poi il programma funzioni.
Per tornare in tema, è ovvio che se lo fai xhtml compliant dovrebbe funzionare.
Ma ricercare a tutti i costi xhtml se non ce n'è l'esigenza o la richiesta, non è un must. Se non è richiesto, meglio che funzioni subito non compliant che dopo 1 settimana compliant ;)
IMHO
Ma scrivere direttamente in xhtml non è una perdita di tempo :D comunque basta su questo tema e torniamo it :D
~§~ Sempre E Solo Lei ~§~
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.