# Methoden in Javascript aufrufen oder anders verlinken



## Kellrkind (3. Nov 2011)

Hey Leute, ich bin neu hier und hoffe ihr könnt mir weiterhelfen 

Folgendes Problem:
Wir müssen ein Programm in Java schreiben, welches eine Amazon Datenbank mit Html-Layout erweitert.

Eine kurze Beschreibung des Problems:
Wir können Bücher hinzufügen und suchen lassen, wollen diese aber auch wieder löschen.

Wir verfolgen 2 Lösungswege, aber keiner davon klappt 

1.) Mit Checkboxen.
Wir lassen hinter jedem Eintrag eine Checkbox generieren und wollen überprüfen ob diese Ausgewählt wurde, wenn ja, dann wird das Buch an dieser Stelle gelöscht.

Nur kann ich mit normalem Java Code nicht auf die Boxen zugreifen ("if ...check = true)
sondern muss alles in Javascript schreiben.

Aber wie kann ich in Java-Script auf normale Methoden die ich vorher erstellt habe zugreifen?

Hier mal der Java-Teil, ich hoffe ihr werdet schlau draus:


```
// Darstellung der Bücher, die aufgrund der Suchanfrage
		// in der DB gefunden wurden.
		if (operation != null && operation.equals("buchSuchen")) {

			String[] result = guiManager.getBooks(request
					.getParameter("Suchbegriff"));

			// Tabelle für die Ausgaben der Suche
			out.println("<table border=1 width=80% cellspacing=2 cellpadding=0 align=center>");
			out.println("<tr align=center>");

			out.println("<td width=40%>");
			out.println("Titel");

			out.println("</td>");

			out.println("<td width=17,5%>");
			out.println("Autor");
			out.println("</td>");

			out.println("<td width=17,5%>");
			out.println("Preis");
			out.println("</td>");

			out.println("<td width=25%>");
			out.println("Bewertung");
			out.println("</td>");

			out.println("</tr>");

			out.println("<tr>");
			out.println("<td align=left>");

			for (int i = 0; i < result.length; i++) {
				out.println("<br>&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&bull;&emsp;"
						+ result[i]
						+ "&emsp;<input type=checkbox name='list' value=\"[i]\">");


			}

			out.println("</td>");
			out.println("<td>");

			out.println("</td>");
			out.println("<td>");
			out.println("</td>");
			out.println("<td>");
			out.println("<br>");

			for (int i = 0; i < result.length; i++) {
				out.println("<p align=center>"
						+ "<input type=radio name='Bewertung' value='1'> 1"
						+ "<input type=radio name='Bewertung' value='2'> 2"
						+ "<input type=radio name='Bewertung' value='3'> 3"
						+ "<input type=radio name='Bewertung' value='4'> 4"
						+ "<input type=radio name='Bewertung' value='5'> 5"
						+ "&nbsp;&nbsp;<input type='button' onClick='showAnswers()' VALUE='Go'>"
						+ "<p>");

			}
			out.println("</ul>");

			out.println("</td>");

			out.println("</tr>");
			out.println("</table><br>");

		}
```

--> Das ist der Teil des Codes, den es bei der Suche erzeugt, bzw der dafür generiert wurde.

Ihr seht ja, dass für jeden Eintrag eine Checkbox erzeugt wurde.
Es gibt im Code noch einen "Löschen-Button".

Ich weiß aber nicht wie ich ihn mit den Checkboxen verknüpfen kann.

Die Methoden heißen guiManager.deleteBook (int id) und guiManager.getIdOfBook (String title).
Ich wollte an der Stelle an der ein Haken ist, die ID des Buches holen und mithilfe der Löschfunktion löschen lassen wenn der Button gedrückt wurde.

Hoffe jemand blickt da durch und kann mir helfen 

Danke schonmal 

Grüße Martin


----------



## SlaterB (3. Nov 2011)

es gibt keinen Java-Teil zu JavaScript, JavaScript wird im Browser des Clients ausgeführt, da kann der Webserver, der die Seite erstellt hat, 
schon längst von Griechenland an französische Bank als Konkursmasse verschifft worden sein

JavaScript kann genau die HTML-Seite beim Client beeinflussen oder neue Request an den Server mit beliebigen Inhalt senden,
entweder komplett neue Seite anzeigen oder vielleicht mit AJAX bisschen subtiler im Hintergrund

wenn dann jedenfalls der Server über einen mehr oder weniger neuen ganz normalen Request drankommt, dann kann wieder sämtlicher Code des Servers aktiv werden


----------



## ARadauer (3. Nov 2011)

```
out.println("<table border=1 width=80% cellspacing=2 cellpadding=0 align=center>");
```
Generiert ihr HTML Code im Servlet? Echt? Im Jahr 2011 wird sowas unterichtet? Hammer!


----------



## Kellrkind (3. Nov 2011)

Jop ^^

Software-Engineering Praktikum 

Die Idee mit den Checkboxen haben wir verworfen.
Jetzt haben wir hinter jedem Eintrag einen Löschen Button.

Neue Frage, wie kann ich dem Button einen Wert (z.B Integer) übergeben und mit diesem später das Betreffende Buch löschen?


----------

