Ich möchte in einem Form, wenn ich ein Feld mit der Tab-Taste verlasse, ein Ajax-Request ausführen und in das nächste Feld springen. Wenn ich dies aber durchführe wird der Ajax-Request durchgeführt, aber der Cursor springt nicht in das nächste Feld im Form, sondern der Focus geht ganz nach oben.
Hier mein Code. Im "haupt.php" befindet sich der Ajax-code und die id, wo das Formular eingebunden wird.
Im sendRequest_w habe ich mal versucht ein focus() zu verwenden, das aber nicht funktioniert.
Hoffe da kann mir jemand weiterhelfen, wie ich ich trotz ajax in ein nächstes Formularfeld springen kann.
Vielen Dank für jede Antwort.
Hubert
------------ code ----------------------
>>>> haupt.php <<<<
Alles anzeigen
-------------------
>>>> wette.php <<<<<<
Hier mein Code. Im "haupt.php" befindet sich der Ajax-code und die id, wo das Formular eingebunden wird.
Im sendRequest_w habe ich mal versucht ein focus() zu verwenden, das aber nicht funktioniert.
Hoffe da kann mir jemand weiterhelfen, wie ich ich trotz ajax in ein nächstes Formularfeld springen kann.
Vielen Dank für jede Antwort.
Hubert
------------ code ----------------------
>>>> haupt.php <<<<
Quellcode
- <script>
- //... Ajax - Script....
- function sendRequestneu(file, queryString, div) {
- if(xmlHttp) {
- /* Request Daten in die Warteschlange setzen, falls der vorherige noch nicht abgeschlossen ist */
- if(xmlHttp.readyState == 1 || xmlHttp.readyState == 2 || xmlHttp.readyState == 3) {
- queueLength = queue.length;
- queue[queueLength] = new Array();
- queue[queueLength][0] = file;
- queue[queueLength][1] = queryString;
- queue[queueLength][2] = div;
- } else {
- if(queryString == "") {
- xmlHttp.open('GET', file, true);
- } else {
- xmlHttp.open('POST', file, true);
- xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- xmlHttp.send(queryString);
- }
- xmlHttp.onreadystatechange = function () {
- if(xmlHttp.readyState == 4) {
- if(xmlHttp.status == 200) {
- document.getElementById(div).innerHTML = xmlHttp.responseText;
- } else if(xmlHttp.status == 404) {
- document.getElementById(div).innerHTML = 'Die Datei wurde nicht gefunden!';
- }
- /* Warteschlange abarbeiten */
- queueLength = queue.length;
- if(queueLength != 0) {
- sendRequestneu(queue[0][0], queue[0][1], queue[0][2]);
- queue.shift(); //Erstes Element entfernen, den Rest eine Position nach vorne rücken
- }
- }
- };
- if(queryString == "") {
- xmlHttp.send(null);
- }
- }
- }
- }
- function sendRequest_w(wert,feldname,id_fragen,checkbox,zaehler,zahl) {
- var wert_ = wert.replace(/,/, '.');
- sendRequestneu("wette.php", 'wert='+ escape(wert)+'&feldname='+ feldname +'&id_fragen='+id_fragen+'&checkbox='+checkbox+'&zahl='+zahl+'&aktion=wetteu', "einzelwette");
- document.wette1.max.focus();
- }
- </script>
- <body>
- <span id='einzelwette'></span>
- </body></html>
-------------------
>>>> wette.php <<<<<<
Quellcode
- <form method="post" name="wette1" action="spiel-und-wetten.php" >
- <input type="text" size="40" name="frage" value="Fussball Weltmeister 2005" onBlur="sendRequest_w(document.wette1.frage.value,'frage',88,0,1,1);" >
- <input type="text" size="10" name="max" value="201.00" onBlur="sendRequest_w(document.wette1.max.value,'max',88,0,1,1);" >
- </form>