Seite 1 von 1
woher kommt des verflixte id="m1"
Verfasst: Mi 22. Feb 2006, 09:26
von mvf
hallo community
ich meine das schon mal im forum gelesen zu haben, finde es aber nicht mehr
W3C validierung schlägt fehl:
W3CValidator hat geschrieben:Error Line 84 column 308: ID "m1" already defined.
...ng=1&client=1">1</a> <a id="m1" class="pageTurning" style="text-deco
ich setze das modul pageturning in der version von stese ein, siehe
post und ich bin mir ziemlich sicher, dass es nicht 'im' modul steckt, aber woher kommt das verflixte id="m1" ???
Verfasst: Mi 22. Feb 2006, 11:21
von emergence
sieh dir mal diese klasse an...
-> cInclude("classes","class.htmlelements.php");
und dort suchst du nach
-> setLink
ist vermutlich mehrfach abgeleitet worden... (so richtig schön übersichtlich und einfach zu finden...)
irgendwo dort findet sich etwas mit der id zuweisung...
Verfasst: Mi 22. Feb 2006, 18:15
von mvf
emergence hat geschrieben:sieh dir mal diese klasse an...
-> cInclude("classes","class.htmlelements.php");
und dort suchst du nach
-> setLink
ist vermutlich mehrfach abgeleitet worden... (so richtig schön übersichtlich und einfach zu finden...)
irgendwo dort findet sich etwas mit der id zuweisung...
oh gott emmergence, wahrscheinlich muss ich langsam doch mal schafen
in der class.htmlelements.php finde ich nix dazu,
revidiert
Code: Alles auswählen
/**
* advances to the next ID available in the system.
*
* This function is useful if you need to use HTML elements
* in a loop, but don't want to re-create new objects each time.
*
* @param $class string Text to set as the "id"
*/
function advanceID()
{
global $cHTMLIDCount;
$cHTMLIDCount ++;
$this->updateAttributes(array ("id" => "m".$cHTMLIDCount));
}
Verfasst: Mi 22. Feb 2006, 18:25
von stese
das is die funktion
Code: Alles auswählen
function advanceID()
{
global $cHTMLIDCount;
$cHTMLIDCount ++;
$this->updateAttributes(array ("id" => "m".$cHTMLIDCount));
}
in selbiger datei die die id setzt
wenn du über die cHTML Api arbeitest, kannst du auch die methode
removeAttribute("id") verwenden um die id komplett zu entfernen.
also bspw.
Code: Alles auswählen
$cField = new cHTMLHiddenField("name","wert");
$cField->removeAttribute("id");
oder aber man setzt die ID schon auf seinen korrekten wert wenn man die klasse initialisiert:
Code: Alles auswählen
$cField = new cHTMLHiddenField("name","wert","meineID");
schau mal im zend ;) der hat so ne autovervollständigen funktion, wo du siehst, welche parameter an die klasse übergeben werden soll.
Verfasst: Mi 22. Feb 2006, 18:29
von mvf
und wie gehe ich jetzt damit um?
Verfasst: Mi 22. Feb 2006, 18:32
von stese
du setzt überall ein
vor das $oLink->toHtml()
Verfasst: Mi 22. Feb 2006, 18:38
von mvf
stese hat geschrieben:du setzt überall ein
vor das $oLink->toHtml()
stese wie immer fix und kompetent
verbeug und M E R C I