Un Submit due Form

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Ragazzi o un problemino, ho una pagina html con due form che devono fare cose diverse, e vorrei farli partire con un submit.
Sono riuscito, o quasi a farcela, vi illustro il codice
HTML:
<body>
    <form name="form_prova" action="form.php" method="post"  target="_blank">
		<input type="hidden" name="username" />
		<input type="hidden" name="password" />
	</form>
	<script type="text/javascript">
	<!--
		function compilaform() {                                       <!----------------------compilo il form nascosto--------------!>
		document.form_prova.username.value = document.login.username.value;
		document.form_prova.password.value = document.login.password.value;
		document.form_prova.submit();
	    }
	//-->
	</script>
<table width="100%" style="margin-top: 1%;">
	<tr>
	<td align="center" valign="middle">
		<br />
		<table width="280" height="100%" style="border: 1px solid #cccccc; padding: 0px;" cellpadding="0" cellspacing="0">
			<tr>
			<td align="center" valign="bottom" height="100%" colspan="2">
			<form name="login" action="$(link-login-only)" method="post" onSubmit="compilaform();">     <!----------------------richiamo funzione--------------!>
			<input type="hidden" name="dst" value="$(link-orig)" />
			<input type="hidden" name="popup" value="true" />
						
			<table width="100%" style="background-color: #ffffff">
			<tr>
			<td colspan="2" align="right"> <div class="notice" style="color: #000000; font-size: 16px">
			<div align="center"><strong>UTENTI GIA' REGISTRATI</a></strong></div>
			</div></td>
			</tr>
			<tr><td align="right">nome utente</td>
			<td><input style="width: 150px" name="username" type="text" value="$(username)"/></td>
			</tr>
			<tr><td align="right">password</td>
			<td><input style="width: 150px" name="password" id="password" type="password"/></td>
			</tr>
			<tr><td>&nbsp;</td>
			<td><input type="submit" value="Invia"/></td>
			</tr>
			</table>
			</form>
                        </td>
			</tr>
		</table>
	<br />

Con il onSubmit non funziona se uso invece onmouseover funziona, non capisco perchè :S qualche idea????? Grazie ;)
 
ed un sistema concatenato tipo invia uno e poi l'altro o visto in giro molti esempi con ajax, ma non mi funzionano :s è proprio impossibile?
 
un form deve inserire dei dati in un database l'altro si trova dentro ad un server montato su macchina mikrotik che funziona solo in locale, una cosa un pò particolare, quindi devo scindere per forza le cose :S
 
Sono riuscito a farlo con AJAX. Prova così:
HTML:
<!DOCTYPE html>
<html lang="it">
    <head>
        <meta charset="utf-8">
        <title>Doppio invio</title>
    </head>

    <body>
        <form method="post" action="action1.php" id="form">
            <div>
                <label for="field1">Campo 1:</label>
                <input type="text" name="field1" id="field1">
            </div>

            <div>
                <label for="field2">Campo 2:</label>
                <input type="text" name="field2" id="field2">
            </div>

            <div>
                <button type="submit" id="submit">Invia</button>
            </div>
        </form>

        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script>
        $(function() {
            window['ajaxSuccess'] = false;

            $("#form").submit(function() {
                $("#submit").text("Invio in corso...");
                $("#submit").attr("disabled", true);

                $.ajax({
                    type: "POST",
                    url: "action2.php",
                    data: {
                        'field1': $("#field1").val(),
                        'field2': $("#field2").val()
                    },
                    success: function() {
                        window['ajaxSuccess'] = true;
                    },
                    async: false
                });
            });
        });
        </script>
    </body>
</html>
Ovviamente devi adattarlo alle tue esigenze.
 

Discussioni simili