php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Textfelder per "Return / Enter" abarbeiten


 
Peh4pe
22-06-2012, 10:17 
 
Guten Morgen!!

ich habe folgendes Problem:
Ich habe ein HTML Formular
Like:

<form method="POST" action="xxx.php">
<input type="text" name="betrag" value="">
<input type="text" name="rechnungsnummer" value="">
<input type="submit" name="neuereintrag" value="senden">
</form>


nun würde ich gerne statt der TAB-Taste, mit der man die Felder normalerweise durchgeht, die Enter taste auf dem Ziffernfeld der Tastatur benutzen..

Grund:
Da Rechnungsnummern und Beträge über das Ziffernfeld eingetragen werden würde ich das gerne der "Bequemlichkeit" halber für den, der die Eingabe macht ermöglichen.

Google und die Interne Suche hat mir leider nicht geholfen. Da wird dieses Thema nur für Visual Basic behandelt.

Danke im Voraus.
Mathias

 
streuner
22-06-2012, 10:37 
 
Hi,

einfaches Beispiel (ungetestet):


<script type="text/javascript">
function doNext(el)
{
if (el.value.length < el.getAttribute('maxlength')) return;

var f = el.form;
var els = f.elements;
var x, nextEl;

for (var i=0, len=els.length; i<len; i++)
{
x = els[i];
if (el == x && (nextEl = els[i+1]))
{
if (nextEl.focus) nextEl.focus();
}
}
}
</script>

<form method="post" action="">
<table>
<tr>
<td>
<input type="text" name="test1" onkeypress="javascript:if (event.keyCode==13) { doNext(this); }">
</td>
<td>
<input type="text" name="test2" onkeypress="javascript:if (event.keyCode==13) { doNext(this); }">
</td>
<td>
<input type="text" name="test3" onkeypress="javascript:if (event.keyCode==13) { doNext(this); }">
</td>
</tr>
</table>
</form>


wenn JavaScript nicht aktiviert ist, geht das natürlich nicht.

mfg streuner

 
Peh4pe
22-06-2012, 10:48 
 
Danke streuner Das funktioniert schonmal soweit :)

Nach drücken der Enter Taste springt er ins nächste Feld, jedoch wird gleichzeitig das Formular abgeschickt.

Leider kenne ich mich in JavaScript nicht aus aber rein von der Funktion her sollte es möglich sein, dass man wie gesagt die Felder per Enter durchgeht und nach dem letzten Feld dann abgeschickt wird.

Mathias

 
streuner
22-06-2012, 11:04 
 
Kannst Du jetzt mit JavaScript lösen - jetzt weißt Du ja, wie Du das drücken der Return Taste "erfassen" kannst (musst Du nur entsprechend darauf reagieren).
Nicht vergessen: sobald jemand JavaScript deaktiviert geht das so nicht mehr.

mfg streuner

 
Peh4pe
22-06-2012, 11:07 
 
Alles Klar,

vielen Dank streuner!

Wünsche ein Schönes Wochenende und werde mein Ergebnis noch Posten wenn alles klappt.

Mathias

-archiv-

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:51 Uhr.