|
|||
Eingabe mit Daten aus Datenbank vergleichen
Hallo alle zusammen
ich habe ein formular mit einem input textfeld. dort werden Auftragsnummer eingetragen. ich möchte das wenn der Endbenutzer mit der Eingabe der nummer startet, das dann schon überprüft wird, ob diese nummer ein der Datenbank vorhanden ist und das live angezeigt wird ohne Seiten reload. wie ist das möglich? |
Sponsored Links |
|
|||
Stichwort Ajax.
Ein Ansatz dazu beispielsweise hier: http://xhtmlforum.de/65529-men-punkt...tml#post500927 Er nutzt das jQuery Framework, da es etwas mühsam ist, Ajax-Requests mit JavaScript-Bordmitteln zu schreiben. |
Sponsored Links |
|
|||
also ich habe jetzt folgenden Code, der auch funktioniert:
HTML-Code:
<?php if (isset($_GET['ajax'])) { if (!isset($_POST['action'])) { exit; } switch ($_POST['action']) { case 'demo1': $names = array('Stefan', 'Malte', 'Franz', 'Xaver'); if (in_array($_POST['name'], $names)) { echo json_encode(array('found' => true)); } else { echo json_encode(array('found' => false)); } break; default: break; } exit; } ?> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> /*<![CDATA[*/ function ajax() { $.ajax({ type : "POST", async : true, url : "?ajax", cache : false, data : { action : 'demo1', name : $("#demo input[name='name']").val() }, dataType : 'json', success: function(data) { if (data['found'] === true) { $('#result').html('<p>Name gefunden<br /><p><input type="submit" value="Submit" /></p></p>'); } else { $('#result').html('<p>Name nicht gefunden</p>'); } }, error: function() { alert("Something went wrong"); } }); } /*]]>*/ </script> </head> <body> <form id="demo" method="post" action=""> <p><input type="text" name="name" onkeyup="ajax()" /></p> </form> <div id="result"></div> </body> </html> das Problem ist, wenn ich diesen Code bei mir auf der Seite einbinden möchte, erhalte ich bei Eingabe immer die Meldung "Something went wrong", nur verstehe ich nicht warum. Ich habe den PHP und JS Teil in meine header.php eingebunden und den html bereich in meine body.html was mach ich falsch? |
|
|||
das hier?:
uncaught exception: [Exception... "prompt aborted by user" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 462" data: no] |
|
|||
okay habe es jetzt soweit das keine Fehlermeldung mehr beim eingeben kommt, doch funktionieren tut es trotzdem nicht.
Firebug sagt: data is null [Bei diesem Fehler anhalten] if (data['found'] === true) { Hier noch mal mein Code: HTML-Code:
<?php if (isset($_GET['ajax'])) { if (!isset($_POST['action'])) { exit; } switch ($_POST['action']) { case 'check': $nummern = array('Stefan', 'Malte', 'Franz', 'Xaver'); if (in_array($_POST['name'], $nummern)) { echo json_encode(array('found' => true)); } else { echo json_encode(array('found' => false)); } break; default: break; } exit; } ?> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> /*<![CDATA[*/ function ajax() { $.ajax({ type : "POST", async : true, url : "?ajax", cache : false, data : { action : 'check', name : $("#auftragsstatus input[name='auftragsnummer']").val() }, dataType : 'json', success: function(data) { if (data['found'] === true) { $('#result').html('<p>Name gefunden<br /><p><input type="submit" value="Submit" /></p></p>'); } else { $('#result').html('<p>Name nicht gefunden</p>'); } }, error: function() { alert("Something went wrong"); } }); } /*]]>*/ </script> </head> <body> <form id="auftragsstatus" method="post" action=""> <p><input type="text" name="auftragsnummer" onkeyup="ajax()" /></p> </form> <div id="result"></div> </body> </html> Live kann man diesen hier testen: www.it-neuss.de und dann ganz unten rechts bei "Auftragsstatus" HAT SICH ERLEDIGT: Hatte einen schreibfehler im restlichen Code :P Vielen Dank Geändert von SpecialFighter (29.08.2011 um 22:42 Uhr) |
|
|||
habe doch einen Fehler:
Wenn man auf der Startseite ist, klappt alles wunderbar. ist man aber auf einer unterseite (Über mich, Service, ...) und fängt dann mit der Eingabe beio Auftragsstatus an, erhalte ich wieder die Meldung: Something went wrong |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Kann man via JQuery oder AJAX auf Daten in einer Datenbank zugreifen? | tru2010 | Javascript & Ajax | 1 | 25.05.2011 00:41 |
zwei datenbank miteinander vergleichen | Don Roberto | Serveradministration und serverseitige Scripte | 1 | 10.12.2009 12:48 |
PHP(PDO) Daten werden nicht in Datenbank eingetragen | Ulixes | Serveradministration und serverseitige Scripte | 10 | 14.04.2009 21:20 |
Daten aus Datenbank entfernen | b74 | Serveradministration und serverseitige Scripte | 4 | 08.02.2009 15:58 |
Daten per Ajax der Datenbank hinzufügen, IE bockt | Nars | Javascript & Ajax | 10 | 24.08.2007 15:22 |