通过两个操作提交按钮

时间:2014-08-20 12:57:21

标签: php jquery mysql

我有一个修改表格' wp_postmeta'的元内容的表单。我试图找出一种方法将表单结果添加到另一个表(事务)。

我有php设置,如果我删除" id"提交输入部分的值。如果包含ID,则表单会修改wp_postmeta,但不会向"事务"表。没有ID,相反。有什么建议吗?

表单提交按钮:

<div class='inventory-management-form-item-holders inventory-management-submit-holder'>
    <input type="submit" name="submit" value="SUBMIT" id="im-submit">
</div>

&#34; IM-提交&#34; js SECTION:

// submit form
jQuery("#im-submit").click(function(){
    // Change thw loading Gif url 
    jQuery('#the-results-holder').html("<img src='/wp-content/plugins/mcs-inventory-management/assets/images/loading_icon.gif' />");
    jQuery.ajax({
        type: "POST",
        data: {'im-product-id': theProductId, 'status-quantity': jQuery('#status-quantity').val(), 'status-action': jQuery('#im-action-box').val(), 'status-location': jQuery('#status-location').val(), 'status-move-location': jQuery('#status-move-location').val()},
        dataType: "json",
        url: "/inventory-management-process/",
        processData: true,
        success: function(data) {
            jQuery('#the-results-holder').html(""); 
            jQuery('#status-stock').val(data.stock);
            jQuery('#status-res').val(data.res);
            jQuery('#status-prepro').val(data.prepro);
            jQuery('#status-clean').val(data.clean);
            jQuery('#status-quantity').val("0");
        },
        error: function (xhr, ajaxOptions, thrownError) {
            jQuery('#the-results-holder').html(""); 
            jQuery('#the-results-holder-error').html("There has been an error!"); 
        }
    });
    return false;
});

PHP使用INSERT查询&#34;事务&#34;表

<form name='inventory-management' id='inventory-management-form' method="POST" action='<?php $transaction ?>'>


<?php
$product= $_POST['part-number'];
$action= $_POST['status-action'];
$from_location= $_POST['status-location'];
$to_location= $_POST['status-move-location'];
$qty= $_POST['status-quantity'];


if(isset($_POST['submit']))
{
 $transaction = "INSERT INTO transactions (id,product,action,from_location,to_location,qty) VALUES ('','$product','$action','$from_location','$to_location','$qty')";
 $result = mysql_query($transaction);
}
?>

1 个答案:

答案 0 :(得分:1)

如果您从提交输入部分删除“id”值,它会起作用,因为表单是由浏览器而不是您的js代码提交的,然后submit值在$_POST中。

要使您的jQuery代码正常工作,您需要将submit值添加到帖子中,如下所示:

    // submit form
jQuery("#im-submit").click(function() {
    // Change thw loading Gif url 
    jQuery('#the-results-holder').html("<img src='/wp-content/plugins/mcs-inventory-management/assets/images/loading_icon.gif' />");

    var ajax_config = {
        type: "POST",
        data: {
            'submit': 'submit',  
            'im-product-id': theProductId, 
            'status-quantity': jQuery('#status-quantity').val(), 
            'status-action': jQuery('#im-action-box').val(), 
            'status-location': jQuery('#status-location').val(), 
            'status-move-location': jQuery('#status-move-location').val()
        },
        dataType: "json",
        url: "/inventory-management-process/",
        processData: true,
        success: function(data) {
            jQuery('#the-results-holder').html("");
            jQuery('#status-stock').val(data.stock);
            jQuery('#status-res').val(data.res);
            jQuery('#status-prepro').val(data.prepro);
            jQuery('#status-clean').val(data.clean);
            jQuery('#status-quantity').val("0");
        },
        error: function(xhr, ajaxOptions, thrownError) {
            jQuery('#the-results-holder').html("");
            jQuery('#the-results-holder-error').html("There has been an error!");
        }
    };
    jQuery.ajax(ajax_config);//jajax # 1

    //change the url
    ajax_config.url = jQuery('#inventory-management-form').attr("action");

    jQuery.ajax(ajax_config);//jajax # 2

    return false;
});

编辑:

我认为你发布到两个不同的位置,这就是为什么没有ID,它将表单结果添加到事务表和ID,它更新wp_postmeta表。你应该尝试使用ID,并在jQuery代码中,进行2 ajax调用,一个就像你一样,另一个将url更改为表单动作值。

'url': jQuery('#inventory-management-form').attr("action")