我有一个修改表'wp_postmeta‘的元内容的表单。我试图找出一种将表单结果添加到另一个表(事务)中的方法。
我有php设置,如果从submit输入部分删除"id“值,它就能工作。包含ID后,表单将修改wp_postmeta,但不会将数据发送到"transactions“表。如果没有ID的话,正好相反。有什么建议吗?
表单提交按钮:
<div class='inventory-management-form-item-holders inventory-management-submit-holder'>
<input type="submit" name="submit" value="SUBMIT" id="im-submit">
</div>"im-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' />");
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;
});对“事务”表使用插入查询的
<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);
}
?>发布于 2014-08-20 13:12:02
如果从submit输入部分移除"id“值,因为表单是由浏览器提交的,而不是js代码提交的,那么submit值就在$_POST中。
要使您的jQuery代码工作,您需要将submit值添加到post中,如下所示:
// 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")https://stackoverflow.com/questions/25405354
复制相似问题