masz problemy KILKA
input type = image jest przycisk submit więc staramy się przedstawić coś z nieistniejącego formie prawdopodobnie ta sama strona, na której jesteś
po przesłaniu formularza 1, zastępuje bieżącą stronę, jeśli uda Ci się przesłać formularz 2, jest bardzo prawdopodobne, że przeszkadza bmission z form1
Oto co można spróbować (zwykły JavaScript):
<script language="javascript">
function() submitForms{
document.getElementById("firstform").submit();
document.getElementById("secondform").submit();
}
</script>
<form id="firstform" target="iframe1">
</form><iframe name="iframe1" style="display:none"></iframe>
<form id="secondform" target="iframe2">
</form><iframe name="iframe1" style="display:none"></iframe>
<button onclick="submitForms()"><img src="images/order-button.png" "/></button>
Alternatywnie AJAX formach jeden naraz (zakłada jQuery załadowany)
DEMO HERE
$(document).ready(function() {
$("#subbut").click(function() {
$.post($("#firstform").attr("action"), $("#firstform").serialize(),
function() {
$.post($("#secondform").attr("action"), $("#secondform").serialize(),
function() {
alert('Both forms submitted');
});
});
});
});
UPDATE: Jeśli chcesz zawartość two formularza należy złożyć do jednej akcji, po prostu dodaj serialises:
$(document).ready(function() {
$("#subbut").click(function() {
$.post($("#firstform").attr("action"), $("#firstform").serialize()+$("#secondform").serialize(),
function() {
alert('Both forms submitted');
});
});
});
PS: PHP w demie jest tylko echem z powrotem to, co piszesz. Na serwerze nie trzeba wykonywać żadnych specjalnych czynności.
Czy próbowałeś 'return false' z' submitForms'? –
@ DanielA.White nie, nie próbowałem, ale gdzie umieścić zwrot fałszywy –
Nuh-uh. Przesyłanie do adresu URL działania, chyba że odsyła coś, co nie jest pokazywane przez przeglądarkę (plik, który można pobrać). Można użyć javascript do wysyłania wiadomości posta ajax zawierającej dane w każdym formularzu. – Alfabravo