non js-master: focus() geht irgendwie nicht

Hallo zusammen,

kein mir mal einer auf die Scprünge helfen, warum das setzen des Focus nicht geht?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Online &Uuml;bungsdatenbank</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" href="./css/configstyle.css" rel="stylesheet">

<script type='text/javascript'>
function schliessen(doCheck) {
 if (doCheck) {
  var looseNothing = confirm("Sollen alle Eingaben uebernommen werden?");
  if (looseNothing) {
   transferData();
  }
 } else {
  transferData();
 }
}

function transferData() {
 var tableName = document.f.tablename.value.replace(/\s*/,"");
 if (tableName=="") {
  alert("Vergib eine sinnvollen Tabellennamen ohne Leerzeichen.")
  document.f.tablename.focus();
  return;
 }
}
</script>
</head>

<body class="head">
<div class="confighead">Neue Tabelle anlegen</div>
<div class="configsubtitle">Gib zun&auml;chst den Namen der Tabelle an, anschlie&szlig;end die Attribute. Dabei musst du entscheiden,
welches Attribut die Eintr&auml;ge eindeutig macht. Du musst also den sogenannten Prim&auml;rschl&uuml;ssel festlegen.</div>

<form name="f" action="">
<table style="margin-top:1em; margin-right:auto;margin-left:auto;border:1px solid #444444" border="0" cellspacing="0" cellpadding="6" width="95%">
 <tr><td colspan="2">Tabellenname: <input type="text" size="20" id="tablename"></td></tr>
 <tr><td style="border-top:1px solid #444444">Attributname: <input type="text" size="20" name="attributname" value="name"></td><td style="border-top:1px solid #444444">Datentyp: <select size="1" name="dataType"><option value="string">Text</option><option value="number">Zahl</option></select></td></tr>
 <tr><td colspan="2" align="center"><input style="font-size:1em;" type="button" value="Hinzuf&uuml;gen" onClick="hinzufuegen()"></td></tr>
</table>

<div id="curTable">
<table style="margin-top:1em; margin-right:auto;margin-left:auto;border:1px solid #444444" border="0" cellspacing="0" cellpadding="6" width="95%">
<tr><td style="border-bottom:1px solid #444444">Prim&auml;rschl&uuml;ssel</td><td style="border-bottom:1px solid #444444">Attributname</td><td style="border-bottom:1px solid #444444">Datentyp</td><td style="border-bottom:1px solid #444444">Obligatorisch</td><td style="border-bottom:1px solid #444444">&nbsp;</td></tr>
<tr><td align="center">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td align="center">&nbsp;</td><td>&nbsp;</td></tr>
</table>
</div>

<div style="margin-top:1em;text-align:center;">
<input type="button" value="Okay" onClick="schliessen(false)">
</div>
</form>
</body>
</html>

Eigentlich sollte der Anwender nach alert einen cursor im Textfeld Tabellennamen haben, hat er aber nicht. Ich sehe leider keinen Fehler mehr, kann mir da einer helfen?

  1. Hallo zusammen,

    kein mir mal einer auf die Scprünge helfen, warum das setzen des Focus nicht geht?

    Ersetze im Formular
     id="tablename"
    durch
     name="tablename"

    So funktioniert es jedenfalls bei mir.

    LG Kalle

    1. Ersetze im Formular
      id="tablename"
      durch
      name="tablename"

      Bringt leider auch nichts. Ich habe dann mal einen anderen Browser ausprobiert...und siehe da, es ging. Auch mit id .

      In Firfox 1.0.4 unter OS X 10.4 geht es nicht, aber mit IE gings. Dabei hätte ich gedacht, dass das von allen unterstützt wird.