Form submit über JS funktioniert nicht

Phinix

Grünschnabel
Hi,

also ich habe 2 Formulare auf dem ersten Formular(toolbar.php) ist der Submit-button, der so aussieht:

PHP:
	echo "<form method='GET'>";
	echo "<input type='image' class='img16' src='http://localhost/webapp/login pics/Obj0614.bmp' name='save' border='0'  alt='Save' /></form>";

Der Submit Button ist ein Teil einer Toolbar. Wenn ich diesen Button drücke, soll er auf einem anderen Formular einen Mysql-Querry senden, der dann die Informationen in die Datenbank schreibt. So weit funktioniert das auch alles.
Bloß mein Problem ist das ich keine $_POST[''] Informationen aus der Tabelle erhalte. Dieses Problem war auch schnell gefunden ich erhalte nur diese Information wenn ich ein submit des Form-tags habe.

Also wollte ich durch dieses JS den submit an den Form-Tag senden:
Code:
echo "<script type='text/javascript'>";
function send() {
	document.output.submit;
	}
echo "</script>";

Dadurch soll die Funktion aufgerufen werden, mit dem anschließenden query:

PHP:
if(isset($_GET['save_x']) == TRUE) {
	if($path['filename'] == "TST8110_02_2") {
	
	send();
	
	$lastnameup  = (isset($_POST['lastname']));	
	$initialsup  = (isset($_POST['initials']));
	$firstnameup = (isset($_POST['firstname']));

		$updatesql ="UPDATE gbrkrs SET AC002 ='" . $lastnameup . "',
									   AC003 ='" . $initialsup . "',
									   AC005 ='" . $firstnameup . "',
									   AC012 = NOW()
									   WHERE AC000 ='" . $userid . "' AND 
AC001 ='" . $_SESSION['USERNAME'] . "';";										
		$updateresult = mysql_query($updatesql) OR DIE (mysql_error());
}

Und das ist die Form:

HTML:
<form name="output" id="output" method="POST" action="TST8110_02_2.php">

Aber leider wird kein submit gesendet und ich weiß auch nicht voran es liegt. Suche schon den ganzen morgen nach einer Lösung dafür. Hoffe mal ihr versteht wo mein Problem liegt und könnt mir helfen. Wenn mehr Quelltext benötigt wird sagt bescheid^^

mfg Phinix
 
Hi,

wenn ich die Klammer dort hin setze, zeigt er mir eine fehler an:

Fatal error: Call to undefined function submit() in

Was mich sehr wundert da ich es auch schon sehr oft mit diesen Klammern gesehen habe.

mfg Phinix
 
Hi,

wenn ich die Klammer dort hin setze, zeigt er mir eine fehler an:

Fatal error: Call to undefined function submit() in

Was mich sehr wundert da ich es auch schon sehr oft mit diesen Klammern gesehen habe.

mfg Phinix

offentsichtlich geht der Interpretor davon aus das du eine methode namens submit aufrufen moechtest.
Ich finde den Aufruf insgesamt etwas merkwürding weil document (meines Wissens) weder eine Eigenschaft noch eine Methode namens "output" hat. Von daher scheitert es (meiner Meinung nach) schon daran.
 
Output ist der name der Form in dem ein submit ausgeführt werden soll.

HTML:
<form name="output" method="POST" action="TST8110_02_2.php">

Und an dem namen der Form kann es auch nicht liegen, denn ich habe schon mehrere namen ausprobiert.
 
Hi,

die Klammern sind definitiv richtig, da hierdurch die Funktion ausgeführt wird. Das Problem scheint woanders zu liegen - Formular existiert nicht, Name doppelt vergeben usw.

Um mehr sagen zu können, reichen die Informationen nicht aus. Gibt es das Ganze irgendwo online zu betrachten? Ansonsten den relevanten geparsten HTML-Code posten.

Wird das Formular vielleicht an einen Frame oder iFrame gesendet? Dann könnte es eventuell Probleme mit dem Zugriff über das document-Objekt geben, wenn es nicht auf dem richtigen Objekt verwendet wird.

Ciao
Quaese
 
Hier ist der komplette Html teil des Formulars das abgesendet werden soll:

HTML:
<html>
<font face="Arial">
<form name="output" method="POST" action="TST8110_02_2.php">
<input type="hidden" name="submit" />
<table border="0">
	<tr>
		<td><strong>Username:</strong></td>
		<td><input type="text" name="Username" value="<?php echo $username;?>" /></td>
	</tr>
	<tr>
		<td><strong>Password:</strong></td>
		<td><input type="password"  name="password1" /></td>
	</tr>
	<tr>
		<td><strong>Confirm Password:</strong></td>
		<td><input type="password"  name="password2" /></td>
	</tr>
	<tr>
		<td><strong>Last name:</strong></td>
		<td><input type="text" value="<?php echo $lastname; ?>" name="lastname" /></td>
	</tr>
	<tr>
		<td><strong>Initials:</strong></td>
		<td><input type="text" value="<?php echo $initials;?>" name="initials" /></td>
	</tr>
	<tr>
		<td><strong>First Name:</strong></td>
		<td><input type="text" value="<?php echo $firstname; ?>" name="firstname" /></td>
	</tr>
	<tr>
		<td><strong>Male/Female:</strong></td>
		<td>
		<select  name="gender">
		<?php
		$gensql = "SELECT AC008 FROM gbrkrs WHERE AC000 = '" . $userid . "'
										AND AC001 = '" . $_SESSION['USERNAME'] . "';";										
		$genres = mysql_query($gensql);
  
		while($genrow = mysql_fetch_assoc($genres)) {
		$gender = $genrow['AC008'];
		}
		?>    
		<option value='Male' <?php if($gender==1) echo 'selected="selected"'; ?>>Male</option>
		<option value= 'Female' <?php if($gender==2) echo 'selected="selected"'; ?>>Female</option>
		<option value= 'Nvt.' <?php if($gender==0) echo 'selected="selected"'; ?>>Nvt.</option>
		</select>	
		</td>
	</tr>
</table>
</form>
</font>
</html>

mfg Phinix
 
Hi,

zum ersten ist das nicht der geparste Code. Mit den PHP-Anteilen kann der Hilfeleistende im Allgemeinen nur wenig anfangen.

Zum zweiten ist hier nicht ersichtlich von wo aus das Formular aus abgesendet werden soll, wo der Funktionsaufruf stattfindet (gleiches Dokument/anderes Dokument, gleicher Frame/anderer Frame).

Macht es den Helfenden doch nicht immer so schwer. Wenn die Suche nach dem eigentlichen Problem schon länger dauert als dessen Lösung, verliert der Hilfeleistende irgendwann die Motivation.

Ciao
Quaese
 
Funktioniert folgendes?
Javascript:
function send() {
    document.getElementsByName("output")[0].submit();
}
 
Sorry, das ich nicht direkt verstanden habe was du möchtest. Kenne mich noch nicht mit den ganzen begriffen aus.

Ich hoffe das ist jetzt der richtige code:

HTML:
<!DOCTYPE HTML PUBLIC "-//WC3//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html14/loose.dtd">
<html>
<font face="Arial">
<form name="output" method="POST" action="TST8110_02_2.php">
<input type="hidden" name="submit" />
<table border="0">
	<tr>
		<td><strong>Username:</strong></td>
		<td><input type="text" name="Username" value="Lisa" /></td>
	</tr>
	<tr>
		<td><strong>Password:</strong></td>
		<td><input type="password"  name="password1" /></td>
	</tr>
	<tr>
		<td><strong>Confirm Password:</strong></td>
		<td><input type="password"  name="password2" /></td>
	</tr>
	<tr>
		<td><strong>Last name:</strong></td>
		<td><input type="text" value="Kleine" name="lastname" /></td>
	</tr>
	<tr>
		<td><strong>Initials:</strong></td>
		<td><input type="text" value="LK" name="initials" /></td>
	</tr>
	<tr>
		<td><strong>First Name:</strong></td>
		<td><input type="text" value="Lisa" name="firstname" /></td>
	</tr>
	<tr>
		<td><strong>Male/Female:</strong></td>
		<td>
		<select  name="gender">
		    
		<option value='Male' >Male</option>
		<option value= 'Female' selected="selected">Female</option>
		<option value= 'Nvt.' >Nvt.</option>
		</select>	
		</td>
	</tr>

</form>
</table>
</font>
</html>

Das ist jetzt nur der Teil der absendet werden soll.

Die funktion wird in einer If-Bedingung aufgerufen, die im selben Formular steht.

PHP:
if(isset($_GET['save_x']) == TRUE) {
	if($path['filename'] == "TST8110_02_2") {
	
	send();

Der Button der die If-Bedingung auslöst ist in einem anderen Formular untergebracht, ist aber auf der selben seite implementiert. Und auch der GET-Post funktioniert ohne Probleme, denn nach dem aufruf der Funktion kommt noch ein query und eine Msg-box. Und diese Msg-Box wird auch aufgerufen. Es wird auch ein query versendet bloß halt mit leeren Feldern.

Ich hoffe mal das ist es was du an Informationen haben wolltest.

@CPoly
Funktioniert leider auch nicht dort gibt er mir sofort diesen fehler aus.

Parse error: syntax error, unexpected '[' in C:\xampp\htdocs\webapp\TST8110_02_2.php on line 10

Das ist die Zeile dann in der Funktion:

PHP:
document.getElementsByName("output")[0].submit();

Phinix
 

Neue Beiträge

Zurück