mehrere Formulare überprüfen & Formular an iframe schicken

olivergries

Mitglied
Hallo, ich habe zwei kleine Probleme bzw. Fragen. Hoffe hier kann mir jemand ein wenig helfen...

1. Mehrere Formulare überprüfen:
Ich lasse mir per php mehrere Formulare erzeugen. Je nach Anzahl der Datensätze hab ich die gleiche Anzahl von Formularen (Formname ist dann dementsprechend z.B. Form_1, Form_2 usw.). Wie kann ich meinem Javascript sagen das er mehrere Forms überprüfen muss.

2. Formular an iframe schicken:
Ist es möglich ein Formular an ein Iframe oder einen anderen Frame zu schicken ohne dass die komplette seite (dort wo sich das Form befindet) reloaded.

Thanks & Viele Grüße

Olli
 
1.
Code:
document.forms
ist ein Array, welcher alle Formulare eines Dokumentes enthält.... über den kannst du zum Einen die Anzahl an Formularen ermitteln,...und zum Anderen auf die jeweiligen Formulare zugreifen.

2.
Indem du als "target" des Formulars den Namen des iFrames angibst.
 
Hallo, danke für deine Tips, das mit dem Target war mir gar nicht bewusst! Klasse...

Kannst Du mir zum 1.Thema das etwas genauer erläutern? Wie nach ich z.B. si ein Abfrage.
Problem ist auch das ich nicht nur diese dynamischen Forms habe sondern auch noch zwei andere...

Gruß Olli
 
Zu der Abfrage ansich:
Code:
for(i=0;i<document.forms.length;++i)
{
//hier die Prüfung
//Auf das jeweilige Formular wird per document.forms[ i ] verwiesen
}
... wenn du jetzt nur die dynamischen Formulare prüfen willst, könntest du diesen bspw. einen einheitlichen Namen geben, und vorher darauf prüfen:
Code:
for(i=0;i<document.forms.length;++i)
{
  if(document.forms[i].name=='nameDerDynamischenFormulare')
         {
            //hier die Prüfung
            //Auf das jeweilige Formular wird per document.forms[ i ] verwiesen
         }
}
 
Hallo, darf ich noch mal deine Hilfe in Anspruch nehmen!?
Anbei mal der Code, er prüft jetzt jedes Feld. Ist kein Wert da, dann zeigt er einen alert. Ist aber ein Wert da macht er keinen Submit...Hmmm :confused:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
	<title>Unbenannt</title>
	
<script language="JavaScript" type="text/JavaScript">
<!--
function check(){ //v3.0
  
for(i=0;i<document.forms.length;++i)
{
  if(document.forms[i].name=='anzahl')
         {
           
		   if(document.forms[i].stueck.value == "")
		   {
		    alert ("ein leeres form");
			return false;
			}
					
         }
	}
}
//-->
</script>


</head>

<body>
<form name="anzahl" action="test_2.htm" method="post" target="warenkorb" onSubmit="return check()">
<input type="hidden" value="1" name="ID">
<td align="left"><span class="txt-black-10"><input value="" name="stueck" size=2></span></td>
<td align="left"><input type=image src="icon/wagen.gif"></td></form>

<form name="anzahl" action="test_2.htm" method="post" target="warenkorb" onSubmit="return check()">
<input type="hidden" value="2" name="ID">
<td align="left"><span class="txt-black-10"><input value="" name="stueck" size=2></span></td>
<td align="left"><input type=image src="icon/wagen.gif"></td></form>

<form name="anzahl" action="test_2.htm" method="post" target="warenkorb" onSubmit="return check()">
<input type="hidden" value="3" name="ID">
<td align="left"><span class="txt-black-10"><input value="" name="stueck" size=2></span></td>
<td align="left"><input type=image src="icon/wagen.gif"></td></form>


<iframe name="warenkorb" width="300" height="500" src="test_2.htm"></iframe>
</body>
</html>

Gruß Olli
 
Ganz zum Ende der Funktion, füge dort mal return true ein.

Ansonsten... kannst du mal erklären, was du mit den ganzen Formularen vorhast...damit wir nicht aneinander vorbei reden :)
 
Hallo Sven,
also ich habe Liste mit Artikel. Hinter jedem Artikel ist ein Input Feld und ein Button. Falls nun der User verehentlich auf den Button (in meinem Fall eine Grafik) klickt soll eine Fehlermeldung kommen ( alert ("ein leeres form"); ). Wenn der User aber dort eine Stückzahl eingibt soll das ganze an den Iframe(Warenkorb) geschickt werden.

Das mit dem return true klappt nicht. Bin mir auch nicht sicher wo genau das hinkommt...

lg

Olli
 
Dein Code funktioniert bei mir....wenn in alle 3 Felder etwas eingegeben wurde, wird ein Formular gesendet... und zwar das, wo sich der gedrückte Button drinnen befindet.

Wozu die 3 Formulare gut sein sollen, versteh ich immer noch nicht.... es wird ja nur jeweils 1 davon übermittelt:confused:
 
Hmm so meinte ich nicht. User soll nur eins wegschicken können. In diesem soll eben eine Stückzahl drin stehen. Die restlichen Formulare sollen dann ignoriert werden. Sprich nur das soll abgeschickt werden wo auch was drin steht.

Hab heut noch ein wenig rumprobiert, komm aber leider zu keiner Lösung;(
Hoffe das war ein wenig verständlicher ;-)))
 
Ahso... na dann prüfe nur das Feld in dem jeweiligen Formular:
Code:
<script type="text/JavaScript">
<!--
function check(objForm){ //v0815
  if(objForm.stueck.value == "")
		   {
		    alert ("ein leeres form");
			return false;
		   }
  return true;
}
//-->
</script>

....

<form onsubmit="return check(this)">

...per "this" wird derFunktion das jeweilige Formular als Objekt übergeben.
 

Neue Beiträge

Zurück