2017-08-13 24 views
0

私は理解できない小さな問題でうまく動作している2つのフォームがあります。複数のフォームを同時に提出する方法

両方のフォームがデータを送信していますが、アイテムをカートに送信すると、他のアイテムに別の数量を選択して追加すると、最初のアイテムは選択されたアイテム数ではありません。

複数のフォーム提出Javascriptコード

<script type="text/javascript"> 
submitForms = function(){ 
    document.forms["quantity"].submit(); 
    document.forms["submit"].submit(); 
} 
</script> 

フォーム#1数量

<form class="" id="<?php echo $mitem_ida; ?>" name="quantity" action="item_process.php" method="post" target="votar"> 
<div class="quantity-wrap"> 
<div class="quantity" style="margin-bottom: -12px;"> 
<input type="button" value="-" onclick="javascript: subtractQtyz('<?php echo $mitem_ida; ?>');" > 
<input name="qtyz" type="number" readonly class="qty" id="quantityx_<?php echo $mitem_ida; ?>" value="1" /> 
<input type="button" value="+" onclick="javascript: document.getElementById('quantityx_<?php echo $mitem_ida; ?>').value++;"> 
<font style="color: black; text-shadow: 2px 2px 3px #999999;">كمية</font> 
</div> 
</div> 
</form> 

フォーム#2の他のフィールド

<form class="formItem" id="<?php echo $mitem_ida; ?>" name="quantity" action="item_process.php" method="post" target="votar"> 
<input type="hidden" value="<?php echo $mitem_ida; ?>" name="item_id"> 
<input type="hidden" value="<?php echo $mitem_pricea; ?>" name="price_id"> 

<?php if ($detect->isMobile()) { ?> 
    <div class="item-price" style="background-color: green; margin-top:-35px; margin-left: 105px;"> 
<?php }else{ ?> 
    <div class="item-price" style="background-color: green; margin-top:-92px; margin-left: 105px;"> 
<?php } ?>        
<span class="amount"> 

<a style="color: white;" href="#" onclick="submitForms()" > 
<font style="font-size: 12px;"> 
<?php if ($lang == 'en') { 
echo "Add To Cart"; 
}else{ 
echo "<b>أضف إلى السلة</b>"; 
} 
?> 
&nbsp;&nbsp;&nbsp;&nbsp; 
</font> 
</a> 
</span> 
</div></form> 

PHPのmysqlのクエリ

if (isset($_SESSION['ses_user_id']) == true){ 
$ses_mem  = $_SESSION['ses_user_id']; 
}else{ 
$ses_mem = session_id(); 
} 

$insitID = mysql_real_escape_string($_POST['item_id']); // 2nd form 
$inspr  = mysql_real_escape_string($_POST['item_price']); // 2nd form 
$iqty  = mysql_real_escape_string($_POST['qtyz']); //1st form 

mysql_query(" 
insert into temp_cart (item_id, price_id, ses_mem, qty) values (
'".$insitID."','".$inspr."','".$ses_mem."','".$iqty."' 
) 
"); 
+3

のようなフレームワークを使用すると、一度に2つのフォームを送信できない場合は、ajaxなどを使用してこれを行う必要があります。 – aidinMC

答えて

1

機能を提出を呼び出すと、それゆえへの2回目の呼び出しはが実行されることはありません提出し、全ページのリロードをトリガーする(hereそれをチェック、それはインラインフレームを再ロード)。

データを失うことなく両方のフォームを送信するには、AJAXを使用する必要があります。 nativelyのいずれか、またはjQuery

関連する問題