elemente ansprechen

Jo, das ist so einfach nicht mit JS....aus JS-Sicht hat ein input mit dem Namen anzahlessen[1] nichts gemein mit anzahlessen[2](ausser, dass es beides Inputs sind).

Vielleicht könntest du etwas näher eingehen auf den gesamten Aufbau des Formulars, und inwiefern ist dieser Zähler im Input-Namen für deine Anwendung von Bedeutung?

Das dürfte bei der Lösungsfindung enorm weiterhelfen :)
 
Okay, ich versuchs...


Ist ne Online-Essenbestellung ( aber nicht von mir, fiuntioniert so aber ), 5 Tage und pro Tag normalerweise 5 essen...
Das kann sich aber von Kunde zu Kunde unterscheiden...
Also Kunde A hat 5 Menüs zur Auswahl und Kunde B hat zb. nur 3 Menüs...
Pro Menü gibt es ein Eingabefeld für die Anzahl der Essen.
Nun ist das ne Terminalanwendung, d.h. der Kunde hat nur einen Ziffernblock und
dazu Pfeiltasten zum Navigieren in den Eingabefeldern, und soll mit den Pfeiltasten dann zum gewünschten Tag und Menü springen...
Es ist Möglich, per Registry Eintrag die Tab-Taste auf die Pfeil-runter-Taste zu legen,
aber der Esser muss auch die Möglichkeit haben, zurück zu springen...

Das ist das Problem im groben...
Nun muß ich, damit ich das mit der Navigation hinbekomme, nen Focus setzen, den Index abfragen, und bei Taste runter index+1 und bei taste hoch index-1 rechnen...
 
Hättest du noch etwas mehr Code parat, als nur dieses eine Input...also ein Beispielformular mit bspw. 3 dieser Inputs incl. dem ganzen Drumherum?
 
Die werden in ner For schleife erzeugt...
Je nach dem, wieviele Essen vorgesehen sind...

PHP:
<form action="start.php" method="post" name="eingabeform">
for($i=0;$i<=XXXXXX;$i++)  XXXX = anzahl essen 
{
<input type='text' id='input[$zähler]' tabindex='".$zähler."' name='anzahlessen[$zähler]' value='".trim($aBesttag['anzahl'])."' size='3' maxlength='3'  onkeyup='taste(event)'  onFocus='markit(this.id)'/>
}
</form>
 
OK, geht doch einfacher als gedacht ...das Einfachste liegt manchmal so nah :-)

Du hast ja die Funktion markit() , welche beim onFocus aufgerufen wird.

Anstatt dieser Funktion die ID zu übergeben, übergebe ihr das Input als Objekt.
Die Funktion kann dann eine globale Variable mit dem Index des ausgewählten Inputs füllen, diesen erhältst du per [obj].tabIndex


Das könnte dann so aussehen(brauch man nicht mal in der Registry herumpfuschen ;))
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; 
                                charset=ISO-8859-1"   />
<meta name="author"             content="doktormolle" />
<meta name="date"               content="2009-02-25" />
<title>Test</title>
<script type="text/javascript">
<!--
var i=0;
document.onkeydown=function(e)
{
  key=(window.event)?window.event.keyCode:e.keyCode;
  var x=((key==38)?-1:((key==40)?1:0))
  if(x)
    {
      try{
          document.getElementsByName('anzahlessen['+(i+x)+']')[0].focus();
         }catch(e){}
    }
}
function markit(o)
{
  i=o.tabIndex;
}
//-->
</script>
</head>
<body>
<form>
<input name="anzahlessen[1]" tabindex="1" onfocus="markit(this)">
<input name="anzahlessen[2]" tabindex="2" onfocus="markit(this)">
<input name="anzahlessen[3]" tabindex="3" onfocus="markit(this)">
<input name="anzahlessen[4]" tabindex="4" onfocus="markit(this)">
<input name="anzahlessen[5]" tabindex="5" onfocus="markit(this)">
</form>
</body>
</html>
 
Eine bestimmte Quelle kann ich dir leider nicht sagen, das kommt drauf an, was man grad vorhat.

Aber ich würde schon sagen, dass SelfHTML da das Beste ist, was einem für den Einstieg passieren kann...mir ist noch nichts Besseres begegnet :)
 
Zuletzt bearbeitet:
ich hab noch einen frage...

jetzt sollte der Focus doch auf dem Hyperlink liegen oder nich?

PHP:
<a class='button4' href='#' name='test'  onload='focus()'>

hier das Formular welches nach absenden des Submit Buttons angezeigt:

PHP:
<form action="#" method="post" name="eingabeform">
<a class='button4' href='#' name='test'  onload='focus()'>
</form>

Oder geht das mit dem Focus nich bei Hyperlinks?
 
Zurück