首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有两个操作的提交按钮

有两个操作的提交按钮
EN

Stack Overflow用户
提问于 2014-08-20 12:57:20
回答 1查看 233关注 0票数 0

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

我有php设置,如果从submit输入部分删除"id“值,它就能工作。包含ID后,表单将修改wp_postmeta,但不会将数据发送到"transactions“表。如果没有ID的话,正好相反。有什么建议吗?

表单提交按钮:

代码语言:javascript
复制
<div class='inventory-management-form-item-holders inventory-management-submit-holder'>
    <input type="submit" name="submit" value="SUBMIT" id="im-submit">
</div>

"im-submit“部分:

代码语言:javascript
复制
// 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;
});

对“事务”表使用插入查询的

代码语言:javascript
复制
<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);
}
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-20 13:12:02

如果从submit输入部分移除"id“值,因为表单是由浏览器提交的,而不是js代码提交的,那么submit值就在$_POST中。

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

代码语言:javascript
复制
    // 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更改为表单操作值。

代码语言:javascript
复制
'url': jQuery('#inventory-management-form').attr("action")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25405354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档