automatischer Button
leiti
- javascript
Hallo,
Habe da ein Problem mit einem Java Script. Bin da noch nicht fit, brauche aber folgende Funktion:
<?
$count = 1; while ($count < 8){
$auto[1]="Porsche";
$auto[2]="Mercedes";
$auto[3]="BMW";
$auto[4]="VW";
$auto[5]="Opel";
$auto[6]="Fiat";
$auto[7]="Volvo";
$auto[8]="Renault"; ?>
<form name="Test" action="test.php" method="post" target="_blank">
<input type="radio" name="Auto<? echo $count; ?>" value="<? echo $auto[$count]; ?>"><? echo $auto[$count]; ?><br>
<script type="text/javascript">
for (var i = 0; i < document.Test.length; ++i);
document.Test.submit()
</script>
</form>
<? $count++; } exit; ?>
Das ganze läuft normal durch eine Datenbankschleife und bei jedem Durchlauf soll das Formular eingetragen werden. Allerdings funktioniert der automatische Button in meinem Fall nur 1 mal, statt im obigen Ablauf 8 mal.
Kann mir ein Profi helfen ???
Gruß Leiti
hi,
Das ganze läuft normal durch eine Datenbankschleife und bei jedem Durchlauf soll das Formular eingetragen werden. Allerdings funktioniert der automatische Button in meinem Fall nur 1 mal, statt im obigen Ablauf 8 mal.
for (var i = 0; i < document.Test.length; ++i);
document.Test.submit()
Zuerst wird 8 mal deine for-Schleife durchlaufen, in der du _nichts_ tun willst. Das hast du mit diesem Code ja explizit gesagt, in dem du mit dem Semikolon hinter dem for() den Anweisungsblock exakt dort beendest.
Anschließend wird die - von der for-Schleife vollkommen unabhängige - Anweisung document.Test.submit() ausgeführt.
gruß,
wahsaga
eigentlich soll in die php schleife nur der automatische button:
<script type="text/javascript">
document.Test.submit();
</script>
allerdings wird dieser bei der 7fachen php schleife nur 1 mal ausgeführt. Ich brauche ihn aber so oft, wie die php-schleife gesetzt ist.
gruß leiti
Hi leiti!
allerdings wird dieser bei der 7fachen php schleife nur 1 mal ausgeführt. Ich brauche ihn aber so oft, wie die php-schleife gesetzt ist.
Wenn das Javascript aufgerufen wird, ist das PHP-Script doch schon längst abgearbeitet.
MfG H☼psel
Wenn das Javascript aufgerufen wird, ist das PHP-Script doch schon längst abgearbeitet.
Wieso, das PHP script läuft bis $count++; und startet dann wieder oben ?????
Kann mir denn keiner eine Realisierung des Javascripts nennen, in dem ein formular abgearbeitet wird und automatisch versendet wird, integriert in einer php-schleife ???
hi,
Wenn das Javascript aufgerufen wird, ist das PHP-Script doch schon längst abgearbeitet.
Wieso, das PHP script läuft bis $count++; und startet dann wieder oben ?????
Und erst wenn es mit allem fertig ist, wird die Seite an den Browser geschickt - und erst _dort_ läuft Javascript.
Kann mir denn keiner eine Realisierung des Javascripts nennen, in dem ein formular abgearbeitet wird und automatisch versendet wird, integriert in einer php-schleife ???
So lange du dich immer noch weigerst zu begreifen, wo du Unterschiede zwischen server- und clientseitig liegen, kann man dir wohl kaum weiterhelfen.
Und der Aufforderung, mal logisch und verständlich zu erklären, was du eigentlich vorhast, bist du bisher auch noch nicht nachgekommen.
Dadurch, dass du das gleiche Kauderwelsch mehrmals wiederholst, wird dein problem für uns hier leider auch nicht verständlicher.
gruß,
wahsaga
und hier die Auflösung meines Problems von einem netten User gepostet:
<script type="text/javascript">
<!--
f=0;
while(ff=document.forms[f])
{
f++;ff.submit();
}
//-->
</script>
bzw.
<script type="text/javascript">
<!--
f=0;
while(ff=document.forms[f])
{
f++;if(ff.name=='Test')ff.submit();
}
//-->
</script>
und läuft und läuft und läuft.....
Gruß Leiti
<script type="text/javascript">
<!--
f=0;
while(ff=document.forms[f])
{
f++;if(ff.name=='Test')ff.submit();
}
//-->
</script>und läuft und läuft und läuft.....
Hast du das getestet, denn es stimmt so nicht.
Das du in eiem Dokument x-Formulare abschicken kannst, darauf würde ich mich nicht verlassen. Evtl. kann es aber natürlich sein.
Aber wenn ich das bei mir Lokal teste kommt immer nur das letzte Formular beim Server an.
Nach wie vor erscheint dein Vorhaben extrem unsinnig, wieso wird das was du tun willst nicht gleich auf dem Server druchgeführt?
Struppi.
Hallo Struppi,
geht nicht beim Abschicken eines (des ersten) Formulars die Seite verloren, weil der Server mit einer neuen Seite antwortet?
Gruß, Jürgen
geht nicht beim Abschicken eines (des ersten) Formulars die Seite verloren, weil der Server mit einer neuen Seite antwortet?
Im Prinzip ja, da aber die JS Schleife sehr schnell durchlaufen wird, bevor irgendetwas vom Server kommt wird letztlich nur das letzte Skript wirklich zuverlässig ausgeführt.
Struppi.
Das javascript folgt nach der php schleife.
Die php schleife sendet z.B. 8 formeinträge. danach folgt das javascript und sendet die 8 formeinträge ab....
Nochmal als Anmerkung.
Ich erhalte die Formsätze aus einer vorgefertigten Datenbank.
Die werden dann aus bestimmten Formularen aus einer anderen Datenbank abgesndet..
Das Absenden übernehme ich nach einem bestimmten Zeitpunkt selbst.
Allerdings starte ich nur noch das Script und schon spare ich mir,
200 Einträge in ca. 100 Formularen einmal im Monat durchzuführen.
(200 x 100 = 20.000 manuelle Eingaben)
Gruß Leiti
Kleines Problem am Rande ist, das eventuelle Bestätigungs Popups meinen PC zum kochen bringen. Weiß noch nicht, wie ich das lösen kann.
Solange ich die Formulare im neuen Fenster öffnen lasse, funktionierts.
Nehme ich _self, dann wird nur ein Formular ausgeführt und der ganze Durchgang ist beendet.
Gruß aus dem sonnigen Spanien
Leiti
Nochmal als Anmerkung.
Ich erhalte die Formsätze aus einer vorgefertigten Datenbank.
Die werden dann aus bestimmten Formularen aus einer anderen Datenbank abgesndet..
Du weißt aber auch, dass du mit PHP andere Skripte aufrufen kannst und damit auch Daten übergeben?
Kleines Problem am Rande ist, das eventuelle Bestätigungs Popups meinen PC zum kochen bringen. Weiß noch nicht, wie ich das lösen kann.
Solange ich die Formulare im neuen Fenster öffnen lasse, funktionierts.
Das ist natürlich etwas anderes, d.h. es werden bei dir dann jedesmal 8 Popups geöffnet.
Nehme ich _self, dann wird nur ein Formular ausgeführt und der ganze Durchgang ist beendet.
Nämlich das Letzte, wie ich schon sagte.
Struppi.
Du weißt aber auch, dass du mit PHP andere Skripte aufrufen kannst und damit auch Daten übergeben?
und wie soll ich das machen ???
Hi leiti,
Habe da ein Problem mit einem Java Script. Bin da noch nicht fit, brauche aber folgende Funktion:
Du weißt, dass du hier einige php-Befehle hast, die Javascript und HTML ausgeben?
<?
$count = 1; while ($count < 8){
$auto[1]="Porsche";
$auto[2]="Mercedes";
$auto[3]="BMW";
$auto[4]="VW";
$auto[5]="Opel";
$auto[6]="Fiat";
$auto[7]="Volvo";
$auto[8]="Renault"; ?>
<form name="Test" action="test.php" method="post" target="_blank">
<input type="radio" name="Auto<? echo $count; ?>" value="<? echo $auto[$count]; ?>"><? echo $auto[$count]; ?><br>
<script type="text/javascript">
for (var i = 0; i < document.Test.length; ++i);
document.Test.submit()
</script>
</form>
<? $count++; } exit; ?>
Mir ist nicht ganz klar, was du erreichen willst. Es wäre hilfreich, wenn du erklären könntest, warum diese statischen Daten mehrfach in die Datenbank bekommen möchtest.
Nichtdestotrotz gibt es ein paar Probleme mit deiner Anordnung der Befehle, ich versuche mal zu konstruieren, was du meinst.
<?
$auto[1]="Porsche";
$auto[2]="Mercedes";
$auto[3]="BMW";
$auto[4]="VW";
$auto[5]="Opel";
$auto[6]="Fiat";
$auto[7]="Volvo";
$auto[8]="Renault";
echo '<form name="Test" action="test.php" method="post" target="_blank">'
$count = 1; while ($count < 8){
echo '<input type="radio" name="'.$count.'" value="'.$auto[$count]. '">"'.$auto[$count].'<br>'
$count++;
}
echo "</form>"
und nun gibt es noch das Javascript mit dem Abschicken des Formulars:
?>
<script type="text/javascript">
document.Test.submit()
</script>
Ist es das, was du wolltest?
ciao
romy
Hallo romy,
etwas OT:
nun kommt die Schleife für die radiobuttons
$count = 1; while ($count < 8){
echo '<input type="radio" name="'.$count.'" value="'.$auto[$count]. '">"'.$auto[$count].'<br>'
$count++;
}
ich habe eine solche Konstruktion in PHP-Scripts schon öfter gesehen. Kennt PHP denn keine for-Schleife?
Gruß, Jürgen
Hi JürgenB!
ich habe eine solche Konstruktion in PHP-Scripts schon öfter gesehen. Kennt PHP denn keine for-Schleife?
Doch, natürlich.
MfG H☼psel
Hallo Hopsel,
... Kennt PHP denn keine for-Schleife?
Doch, natürlich.
das habe ich auch erwartet. Aber man sieht diese Realisierung einer for-Schleife mit while sehr oft. Einmal habe ich sie sogar in einem Informatik-Script (C-Kurs) gefunden.
Gruß, Jürgen
Hi JürgenB!
Aber man sieht diese Realisierung einer for-Schleife mit while sehr oft. Einmal habe ich sie sogar in einem Informatik-Script (C-Kurs) gefunden.
Dagegen ist IMO auch nichts einzuwenden. Jeder hat seinen eigenen Programmierstil. Die meisten guten Compiler optimieren den Code so oder so. Ob man nun eine while- oder eine for-Schleife nutzt, dürfte an der Grenze des Belanglosen liegen.
MfG H☼psel
Hi JürgenB,
ich habe eine solche Konstruktion in PHP-Scripts schon öfter gesehen. Kennt PHP denn keine for-Schleife?
doch ich habe es nur so gelassen, wie es vom UP schon war.
Schleifenformen in PHP
ciao
romy
Hallo romy,
Habe das Posting nicht gefunden, deshalb antworte ich jetzt erst....
Ja, so ist das richtig. Mein Problem ist javascript, mit dem ich nicht viel am Hut habe.
Mir geht es darum, in einer php Schleife einen automatischen Formeintrag zu integrieren.
Da wohl die automatische Buttonfunktion nur mit javascript funktioniert, habe ich halt Codeschnipsel von selfhtml.org zusammengebastelt, allerdings ni´cht mit Erfolg....
Hier nochmal verändert der Script, der zwar läuft, aber nur einen automatischen Button ausführt:
<?
$count = 1; while ($count < 8){
$auto[1]="Porsche";
$auto[2]="Mercedes";
$auto[3]="BMW";
$auto[4]="VW";
$auto[5]="Opel";
$auto[6]="Fiat";
$auto[7]="Volvo";
$auto[8]="Renault"; ?>
<form name="Test" action="test.php" method="post" target="_blank">
<input type="text" name="auto" value="<? echo $auto[$count]; ?>"><? echo $auto[$count]; ?><br>
<script type="text/javascript">
for (var i = 0; i < document.Test.length; ++i);
document.Test.submit()
</script>
</form>
<? $count++; } exit; ?>
...und jetzt wäre es super, wenn das Script statt nur ein Formular abzusenden, alle absendet...
Gruß Leiti
Hi reiti!
...und jetzt wäre es super, wenn das Script statt nur ein Formular abzusenden, alle absendet...
Dann erzeuge mit PHP auch acht Formulare. Am besten alle in einer for-Schleife. Da hast du das ganze nur einmal zu schreiben.
MfG H☼psel
Hi,
Mir geht es darum, in einer php Schleife einen automatischen Formeintrag zu integrieren.
Du schickst also die Daten von Deinem PHP-Script erstmal an den Browser, der diese automatisch sofort wieder an ein PHP-Script schicken soll?
Warum so umständlich?
Warum verarbeitest Du die Daten nicht direkt ohne den IMO unsinnigen Umweg über den Browser?
cu,
Andreas