# submitbutton geht nicht mit enter im IE



## BitBurger (24. März 2005)

Hallo alle miteinander, ich hoffe einer von euch kann mir da helfen.

  Mein Problem ist folgendes:

 Ich habe eine Suchfunktion geschrieben welches ein Eingabefeld hat und ein Submitbutton zum abschicken. Die Ausgabe der gesuchten Ergebnisse wird dann in einen anderen Frame (darunter) ausgegeben. Das funktioniert auch alles, doch wenn ich nun bein IE das Formular mit der Entertast abschicken will, wird das Formular lediglich nochmal in den unterem Frame ausgegeben. Mit Firefox/Mozilla funktioniert das aber auch. Ist das ein Standartproblem von IE oder liegts an was anderem


```
<input type="submit" name="search_begin" value="search">
```
 
  gruß BitBurger


----------



## redlama (24. März 2005)

Das ist definitiv kein IE Problem. Bei den von mir geschriebenen Formularen kann mit der Enter Taste ohne Probleme gesendet werden.
Wie sieht denn der restliche Quelltext dazu aus?

redlama


----------



## BitBurger (24. März 2005)

okay dann wirds wohl an was anderem liegen.


```
<html>
  <body>
  <?php
 if($_POST['search_begin'])													 //start if
  {
  //--------------------Verbindung zur Datenbank-----------------------------------------------------------------
  
 		$conid=mysql_connect("localhost","root","")or die ("Not connected to database");
  		mysql_select_db("tbl_component",$conid);
  
  //--------------------Suche in der Datenbank-------------------------------------------------------------------
 	 if($_POST['search_begin'])											 //abfrage ob der button search_begin betätigt wurde
  		  {
  		   if($eingabe == 'all')
  			{
  			 $eingabe = '';
  			 $x = 1;
  			}
  		   else if($eingabe == '')
  			{
  			 $x = 2;
  			}
  		   else
  			{
  			 $x = 3;
  			}
 		 $insert_array = explode(' ',$eingabe);							 //aufteilen der eingabe und speichern in Array
 		 $query = 'select * from tbl_component where ';					 //angabe was ausgegeben werden soll (*) und angabe der Tabelle
 		 for($i=0; $i<count($insert_array); $i++){						 //beginn der Schleife
  
 		 if($dropdown=='All')											 //abfrage ob im tropdown all angegeben wurde oder nicht
  			 {
  			  $query .= "(a like '%".$insert_array[$i]."%' 
 						 )";
 																	 //suche in allen Spalten
  			 }
  			else
  			 {
 			 $query .= "($dropdown like '%".$insert_array[$i]."%')";		 //suche in ausgewählter Spalte (dropdown)
  			 }
  
  		if($i<count($insert_array)-1){
  
  			$query .= ' and ';
  		}
  
  		}
  
  
  
  //		echo "$eingabe<br>";
  //		echo "$query<br>";
  
  		if($x != 2)
  		{
 		$result = mysql_db_query('component',$query);						 //anfrage an die datenbank
 		$num_news = mysql_num_rows($result);								 //anzahl der zurückgegebenen datensätze
  
  
  //--------------------Ausgabe der gefunden Ergebnisse-----------------------------------------------------------
  
 	 if($num_news!=0)													 //abfrage auf anzahl der Ergebnisse
  
  		{
  		echo "<table width='2000' border='0' bgcolor='#000000'>
  				<tr bgcolor='#E9E9E9'>
  				    <td width='100'>
 					 <center><b>a</b></center>
 					</td>
 				 </tr>";													 //Ausgabe des Tabellenindexes (Spaltennamen)
  
  
 			 for($i=0; $i<$num_news; $i++)									 //Wiederhohlung so oft mal wie ergebnisse gefunden wurden
  			{
  
  		   $a = mysql_result($result,$i,'a');
  	  
  
  		//einlesen der Werte aus der DB in die Variablen
  
  			echo  "<tr bgcolor='#FFFFFF'>
 					<td>
  					    $a
 					</td>
 				 </tr>";																	 //Ausgabe der Variablen (treffer) x mal
  
  		  }
  		}
  	}
  }
  //--------------------Ausgabe bezogen auf Eingabe---------------------------------------------------------------
 		echo "</table>";																	 //Tabelle schließen
  
  		 if($x == 1)
  		  {
  		   echo "<br>full database selected ($num_news search results)";
  		  }
  		 else if($x == 2)
  		  {
  		   echo "<br>please insert a keyword";
  		  }
  		 else
  		 {
  		 if($num_news<=1)
  		   {
 			echo "<br>$num_news search result with name <b>'$eingabe'</b>";
  		   }
  		  else
  		   {
 			echo "<br>$num_news search results with name <b>'$eingabe'</b>";
  		   }
  		  }
  
  }
  else{
  ?>
  <!--  ------------Formular mit Suchfeld, Enterbutton und Resetbutton---------------------------------------  -->
  
 <b>output/search form</b>						 // überschrift
 <a href="#" onClick="window.open('auswahl_info.php', 	 //infolink 'NewWindow','toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=no,resizable=no,copyhistory=no,width=250, height=250, width=500, height=500, left=500, top=500')">(Info)</a>
  <br><br>
  <form action="" target="down" method="post" name="auswahl">
 							 Please choose the cathegory.
 							 <br>
 							 <select name="dropdown">
 							 <option value="All">All</option>
 							 <option value="a">APN</option>
 							 </select>
 							 <br><br>
 							 Please enter the search criterion.
 							 <br>
 							 <input type="text" value="" name="eingabe" size="36" maxlength="29">
 							 <input type="submit" name="search_begin" value="search">
 							 <input type="reset" name="reset" value="reset">
  <br>
 _________________________________________________________________________________________________________________________________________________________________________________________________________________________________
  </form>
  
  <?php
 }																							 //end if
  ?>
  </body>
  </html>
```
 
  da ich das momentan für die arbeit mache wirs du verstehen warum ich einige Dinge zensiert habe


----------



## redlama (24. März 2005)

Also ich bin mir zwar nicht so ganz sicher, aber ich denke es liegt daran, dass in dem <form> action nicht definiert ist.

redlama


----------



## BitBurger (24. März 2005)

mhhh was soll ich da reinschreiben ? Ich weiss grad gar nicht für was ich das überhaupt hingeschrieben habe.


----------



## redlama (24. März 2005)

Das action muss mit der Zeildatei gefüttert werden, an die die Daten des Formulars geschickt werden sollen.

redlama


----------



## BitBurger (24. März 2005)

also daran liegt es leider nicht 
 das Formular wird weiterhin beim bestätigen mit Enter nochmals ausgegeben.
 Woran könnte es denn noch liegen ?


----------



## c2uk (24. März 2005)

Ich bin mir jetzt auch nicht so sicher, aber was hat das target="down" im Formtag da für einen Zweck?


----------



## BitBurger (24. März 2005)

Das gibt an in welchem Frame die gefundenen Ergebnisse ausgegeben werden sollen.
 Also in den Frame "down".


----------



## c2uk (24. März 2005)

Schon mal probiert, das ganze nicht in Frames auszuführen?


----------



## BitBurger (24. März 2005)

Ich habs jetzt mal ohne dem target="down" gemacht. Also gibt es jetzt einfach das Ergebnis im selben frame aus, doch da kommt wieder das gleiche Problem. Wenn ich das Formular mit Enter abschicke kommt kein Ergebnis sondern es wird lediglich nochmal ausgegeben (das Formular). Also liegt es daran auch nicht.

 Aber bevor ich es vergesse, schon mal ein großes Danke an alle die sich die Mühe machen und versuche mir zu helfen.


----------



## fish-guts (24. März 2005)

Moin

 Also ich denke auch, dass du den tag "action" füttern musst. Schliesslich muss der Browser ja auch wissen, was er tun soll 

 Grüsse FG


----------



## Malleus (24. März 2005)

Normalerweise wird bei einem "Submit" die Datei, die in "Action" spezifiziert wurde, angesprungen. Ist keine vorhanden, wird die eigene Seite noch einmal aufgerufen. Dies ist gut für PHP-Seite, die dann in einer Seite auch das Formular abarbeiten können.

Willst Du das normaler Verhalten "umgehen" schreib' ans FORM-Tag 

onsubmit="'return false;"

Vielleicht hilfst ja?

tschau

Frank


----------

