Fejl i on.change.submit
HejJeg har et problem med en dropdown som giver en scriptfejl hvis der samtidig er en submit knap i formen.
her er koden:
<?PHP
function make_medarbejder_dropdown($name, $select, $on_change=FALSE, $active=TRUE) {
$connection = mysql_connect("localhost","bruger","pwd")or die ("Kan ikke komme i kontakt med MySQL server.");
mysql_select_db("database", $connection) or die ("Kan ikke finde intranet database.");
$output = "\n<select name=\"$name\"";
if ($on_change) $output .= " onChange=\"this.form.submit()\"";
$output .= ">";
$output .= "\n<option value=\"\">Vælg</option>";
$query = "SELECT * FROM user";
if ($active == "TRUE") $query .= " WHERE active='yes'";
$query .= " ORDER BY name";
$query_result = mysql_query($query, $connection) or die ("Cannot EXECUTE SQL Query");
while ($row =mysql_fetch_array($query_result)) {
if ($row[id] == $select) {
$output .= "\n<option selected value=\"$row[id]\">$row[name] $row[lastname]</option>";
} else {
$output .= "\n<option value=\"$row[id]\">$row[name] $row[lastname]</option>";
}
} //end while
$output .= "\n</select>";
return $output;
}
print '<TABLE>';
print '<FORM enctype="multipart/form-data" method="POST" action=' . $_SERVER[PHP_SELF] . '>';
print '<TR>';
print ' <TH>Personale</TH>';
print ' <TD>' . make_medarbejder_dropdown("cur_user_id", $_POST[cur_user_id], "TRUE", "FALSE") .'</TD>';
print '</TR>';
print '<TR>';
print ' <TH>Ret</TH>';
print ' <TD><INPUT TYPE="submit" name="submit" VALUE="ret"></TD>';
print '</TR>';
print '</FORM>';
print '</TABLE>';
?>
Hvis man i formen fjerne den sidste row, den med submit knappen, vil dropdownen godt lave en submit, hvis tabellen er som den er her, vil dropdownen ikke lave en submit.
Koden bliver afviklet på en webserver ved B-One.
Jeg har en ligende koden til at blive afviklet på en anden webserver, hvor jeg ikke har samme problem, så løsningen er måske i server opsætningen, uden at vide det.
Håber på hurtigt svat
Kim