Value eins Eingabefledes Abfragen

messmar

Erfahrenes Mitglied
Hallo,

Ich möchte den Value eins Hidden-Text-Eingabefelds abfragen und anschließend ein entsprechendes Inputfeld anzeigen lassen.

D.h: Wenn der Value des Eingabefeldes (type=hidden) "bmw" enthält, dann soll das Formular ein weiteres Feld enthalten, wo der User eine bestimmte Information eingeben kann, und wenn nicht dann wird das Standard-Formular mit den normalen Kontaktfeldern angezeigt.

Der Value für das Hiddenfeld, wird mit dem Link als Parameter eingegeben:
"http://localhost:8080/own_work/htm/index_2.jsp?kunde=bmw"

Das funktioniert leider nicht, da der Value des Hiddenfeldes leer bleibt und dazu weiße ich offen gesagt nicht ganz genau, ob meine Abfrage richtig ist oder nicht.

Vielen Dank und Gruß
Messmar

Meine Abfrage sieht folgendermaßen aus:
Code:
<%
String whichCustomer = request.getParameter("kunde");
         
if(whichCustomer == "bmw"){
  out.println("<label>Wieso BMW?:</label><input type='text' name='bmwQuestion'    value=''><br />");
}
%>
 
Hallo,

ich habe jetzt erreicht, dass der Value des Engabefelds (type=hidden) mit dem, in die URL (Request) eingegebenen, Wert vorbelegt wird.

Jetzt, fehlt es mir nur noch die entsprechende Ausgabe.

Noch einen Tipp ;-))

Danke und Gruß
Messmar
 
Hallo,

ich habe jetzt das Problem gelöst.
Aber ich habe noch eine kleine Geschichte zu lösen und ich komme einfach nicht drauf:

ich vergleiche innerhalb einer For-Schleife zwei Zeichenktten und versuche dann, wenn die Bedingung erfüllt ist, einen Include duchzuführen.

Das Problem ist, dass es mir 4 Mal die Include durchgeführt wird, was auch laut der Schleife logisch ist. Ich will aber es nur ein Mal erreichen, wenn die Bedingung zutrifft.

Mit Break, hat es nicht geholfen. Ich bin im Moment einfach blind/müde ;-) und kann nicht mehr auf die Lösung kommen.

Kann mir bitte Jemand helfen?

Danke und Gruß
Messmar

Code:

Code:
  <%!
   static final String[] customers = {
      "peugeot",
      "mercedes",
      "renault",
      "bmw",
   };
%>
<%
   for (int i = 0; i < customers.length; i++) {
    
	if(kunde.equals(customers[i])){ %>
	 <%@ include file ="../include/forms/kontakt_form.jsp" %>
	 <% } else { %>
	 <%@ include file ="../include/forms/kontakt2_form.jsp" %> 
<% } }%>
 
Hallo,

um Deine Schleife zu beenden nachdem das Include aufgerufen wurde musst Du nur ein break; einfügen. Nachdem halt das entsprechende Include aufgerufen wurde.

gruß Klaus.
 
Hi,

auf die Idee bin ich schon gekommen und es funkz. auch nicht ganz oder wie es sein muss.

Der Punkt ist, dass wenn die Schleife druch das erste Element durchgeht und dabei keinen Treffer erzielt, dann wird das formular2 per Include eingebunden und anschließend break; durchgeführt.

Soweit so gut, aber was ist dann wenn der Treffer oder das gesuchte Wort erst im zweiten Element des Arrays sich befindet. Dann kommt die Schleife gar nicht dazu das zweite Element zu überprüfen.

Einen anderen Tipp? oder irre ich mich?

Danke und Gruß
Messmar
 
Hallo messmar,

Du musst das break nur an der richtigen Stelle einfügen. Ich kenne mich mit jsps gar nicht aus, also steinige mich bitte nicht, wenn der Code kleinere Fehler enthält, aber grundsätzlich sollte es so aussehen:
Code:
  <%!
   static final String[] customers = {
      "peugeot",
      "mercedes",
      "renault",
      "bmw",
   };
%>
<%
   for (int i = 0; i < customers.length; i++) {
    
	if(kunde.equals(customers[i])){ %>
		  <%@ include file ="../include/forms/kontakt_form.jsp" %>
	 	 <% break; %>
	 <% } else { %>
	 	 <%@ include file ="../include/forms/kontakt2_form.jsp" %> 
<% } }%>
Wenn kunde das gleiche enthält wie customer an der Stelle i, wird das kantakt_form.jsp aufgerufen und die Schleife beendet, das ist doch das was Du wolltest oder?

gruß Klaus.
 
Hi,

danke schon Mal ;-)
Ich muss es zunächst testen und dann weiße ich mehr.

Ich habe schon Mal folgedndes probiert:

Code:
  <%!
   static final String[] customers = {
      "peugeot",
      "mercedes",
      "renault",
      "bmw",
   };
%>
<%
   for (int i = 0; i < customers.length; i++) {
    
	if(kunde.equals(customers[i])){ %>
		  <%@ include file ="../include/forms/kontakt_form.jsp" %>
	 	 <% %>
	 <% break; } else { %>
	 	 <%@ include file ="../include/forms/kontakt2_form.jsp" %> 
<%break; } }%>
...

Ich will erreichen, dass es erst wenn es in dem ganzen customers-Array keinen Treffer erzielt wird, dann soll das kontakt2_form eingebuden wird, und nicht sofort nach dem ersten Element des Arrays, weil es kann sein, dass der gesuchte Wert in dem zweiten oder dritten Element von Cusotmers zu finden ist.

Gruß
Messmar
 
Dann darfst du das kontakt2-form aber nicht in der for-schleife einfügen :)

Probier doch mal sowas:

Code:
  <%!
   static final String[] customers = {
      "peugeot",
      "mercedes",
      "renault",
      "bmw",
   };
%>
<%
   boolean temp = false;
   for (int i = 0; i < customers.length; i++) {
    
	if(kunde.equals(customers[i])){ %>
		  <%@ include file ="../include/forms/kontakt_form.jsp" %>
	 <% temp = true; 
                   break; 
                }
  } 
  if (!temp) { %>
	 	 <%@ include file ="../include/forms/kontakt2_form.jsp" %> 
<% } %>

Wobei ich jetzt keine Garantie für die Klammersetzung übernehme, aber du siehst hoffentlich, was gemeint ist :)
 
Hi, danke ;-)

gnau das hatte ich am Anfang mir überlegt. Aber ich kam nicht darauf, wie ich das Einbinden des zweiten Forms außerhalb der For-Schleife machen kann.

Ich teste es schon Mal.

Vielen Dank allen und Gruß
Messmar
 
Ja, danke danke danke. Es fuknz. einwandfrei.

Ich bin zwar, sage ich Mal, kein Erfahrener in JSP (eher ein Anfänger), aber ich versuche mich durch zu schlagen, da ich öfter Mal damit zu tun habe und mit JSTL auch und will
dazu lernen und lernen.

Vielen Dank und besten Gruß
Messmar
 
Zurück