Hallo zusammen!
Ich arbeite mit JSP und will mit Ajax die Suggest-Funktion in ein Formular einbauen! Beim kompilieren erscheinen keine Fehler, wenn man einen Buchstaben ins Feld eingiebt klappt die Auswahlliste aus, jedoch ohne Inhalt.
Was ist hier falsch? Suche schon mehr als einen Tag...
Besten Dank für eure Hilfe
Hier die Files: (schiffAuswahl ist das ResultSet aus der DB Abfrage, der Inhalt ist korrekt)
suggest.html:
suggest.js:
suggest.jsp:
Ich arbeite mit JSP und will mit Ajax die Suggest-Funktion in ein Formular einbauen! Beim kompilieren erscheinen keine Fehler, wenn man einen Buchstaben ins Feld eingiebt klappt die Auswahlliste aus, jedoch ohne Inhalt.
Was ist hier falsch? Suche schon mehr als einen Tag...
Besten Dank für eure Hilfe
Hier die Files: (schiffAuswahl ist das ResultSet aus der DB Abfrage, der Inhalt ist korrekt)
suggest.html:
Code:
<html>
<link rel="stylesheet" href="stil.css" type="text/css" />
<script language="JavaScript" src="suggest.js"></script>
</body>
<br />
<form name="f1">
<span id="name">
Geben sie den Namen ein:<br />
<input name="name" type="text" size="30" onkeyup="sndReq();" autocomplete="off"/></span>
<span id="antwort"></span>
</form>
</body>
</html>
suggest.js:
Code:
function erzXMLHttpRequestObject(){
var resObjekt = null;
try {
resObjekt = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(Error){
try {
resObjekt = new ActiveXObject("MSXML2.XMLHTTP");
}
catch(Error){
try {
resObjekt = new XMLHttpRequest();
}
catch(Error){
alert("Erzeugung des XMLHttpRequest-Objekts ist nicht möglich");
}
}
}
return resObjekt;
}
function sndReq() {
if (document.f1.name.value != ""){
resObject.open('get', 'suggest.jsp?name' + escape(document.f1.name.value.toLowerCase()) , true);
resObject.onreadystatechange = handleResponse;
resObject.send(null);
}
else {
document.getElementById("antwort").style.visibility = "hidden";
}
}
function handleResponse() {
document.getElementById("antwort").style.visibility = "visible";
if(resObject.readyState == 4) {
document.getElementById("antwort").innerHTML = resObject.responseText;
}
}
resObject=erzXMLHttpRequestObject();
function uebernehme(){
document.f1.name.value = document.f1.vorschlag.value;
}
suggest.jsp:
Code:
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="eReportAuswertung.*" %>
<%@ page import="DBConfig.Config" %>
<%@ page import="java.util.*" %>
<%@ page import="java.lang.Math" %>
<jsp:useBean id="dba" class="eReportAuswertung.DBAbfrage" />
<%! ResultSet schiffAuswahl; %>
<%
String text = "<select name=\"vorschlag\" size=\"10\" onClick=\"uebernehme()\">";
String name = request.getParameter("name");
String vergleich = "";
schiffAuswahl = dba.getSchiffe();
try {
while (schiffAuswahl.next()) {
vergleich = schiffAuswahl.getString(1).substring(0, Math.min(name.length(), schiffAuswahl.getString(1).length())).toLowerCase();
if(name.equals(vergleich)){
text += "<option>" + schiffAuswahl.getString(1) + "</option>"; }
}
schiffAuswahl.close();
}
catch (Exception e){
e.printStackTrace();
}
text += "</select>"; %>
<%= text %>