Danke Felix,
es sind doch schon gute Ansätze
<?
Das war im Script so vorhanden, habe ich aber bei mir schon geändert in <?php
// Testausgabe
if (isset($_POST['send'])) {
print_r($_POST);
}
das fliegt sowieso raus - ist nur zum Testen gedacht
<?
$xajax->printJavascript("js/");
?>
hier weiss ich z.B. nicht ob das <? für PHP oder XML steht und wie stelle ich es dann im Template da.
<script type="text/javascript">
function addOption(selectId, txt, val) {
var objOption = new Option(txt, val);
document.getElementById(selectId).options.add(objOption);
}
</script>
</head>Ich nehme an, dass Du genau solches mit Smarty jetzt besser machen möchtest?
Ja, das meine ich. Kommt das nun ins Template oder bleibt es in der PHP Datei?
<select name="txtfrom" id="txtfrom"
onchange="xajax_addtxtstateprovince('txtstateprovince', document.frmPlan.txtfrom.value)">Hier steigen diejenigen aus, die kein JavaScript verfügbar haben. Und die, die mit der Tastatur navigieren, können nur die zweite Option nutzen, da bereits dort das onchange feuert, ohne dass sie je eine Chance hätten, sich bis zur letzten Option durchzutippen. Also ist für Leute, die lieber nicht die Maus benutzen, hier eine Barriere. Willst Du das so?
Nein, das möchte ich nicht so. Habe es auch probiert, wenn ich mit der Maus es ändere funktioniert es, mit Tastatur nicht. Ich bin kein Profi und weiss nicht wie ich es anders, sprich für Tastaturnutzer, ändern kann.
Desweiteren sollte JavaScript-Code mittels JavaScript ins Dokument geschrieben werden (Stichwort "unobtrusive").
Das möchte ich machen wenn alles funktioniert. Du hast recht, es ist dann auch aufgeräumter. Aber bis dahin habe ich es lieber wenn alles "beisammen" ist.
HeikoH