Guten Morgen,
hab ein kleines Problem. Und zwar ich habe eine Seite dort kann ich über ein Dropdown ein Status ändern. Im FireFox geht das auch aber im IE 6 und 7 geht das leider nicht. OK der IE 6 der wäre mir auch noch egal aber der 7 der sollte auf alle Fälle gehen. Ich poste hier mal das Script und hoffe damit, dass mir jemand helfen kann, dass es auch im IE geht.
Hier das JS
------------------------
window.addEvent('domready', function()
{
$$('select[id^=status]').each(function(el)
{
el.addEvent('change', function()
{
this.blur();
var opt = this.options[this.options.selectedIndex];
this.setStyles({
background: opt.getStyle('background')
,color: opt.getStyle('color')
});
new Ajax('/plugin/ajax/saveOrderStatus.php', {
data: 'id=' + this.id.split(/-/).pop() + '&status=' + this.getValue()
,onComplete: function(resp)
{
$('timestamp-' + this.id.split(/-/).pop()).setText(resp);
}.bind(this)
}).request();
});
});
});
In der PHP Datei sieht es dann so aus:
------------------------
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/plugin/cfg.inc.php';
requirePermission('admin');
$id = (int) $_REQUEST['id'];
$status = sqlPrepare($_REQUEST['status']);
$sql = "
INSERT INTO auftrag-status
SET auftrag = $id
,status = '$status'
,user = {$ACT_User->id}
,datum = NOW()
";
ACT::sqlDo($sql);
$sql = "
UPDATE auftrag
SET status = '$status'
WHERE id = $id
";
ACT::sqlDo($sql);
print date('d.m.Y H:i', ACT::sqlCount("
SELECT MAX(UNIX_TIMESTAMP(datum))
FROM auftrag-status
WHERE auftrag = $id
"));
?>
So und so rufe ich das DropDown in der eigentlichen PHP Datei auf:
<select style="width: 130px; <?php print $opt->style; ?>" id="status-<?php print $rechnung->id; ?>">
<?php print $opt->html; ?>
</select>
Ich hoffe dass mir jemand helfen kann.
Gruß,
Phil