我有一个修改表格' 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);
}
?>
答案 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")