我正在尝试将正常的html表单提交到数据库:
<form method="post" action="#" id="productForm" onsubmit="return submitProduct(this);">
使用上面的代码我调用方法“submitProduct”。此方法的代码是:
function submitProduct(form_ele) {
var values = $(form_ele).serialize();
$.ajax({
url: "forms/ajax/admin/form_modifications.php",
type: "post",
data: values,
success: function (response) {
alert("Success");
},
});
}
所以使用上面的代码我应该可以进入“form_modifications.php”脚本了吗? 我还没有设法从表单中获取“数据:值”(一旦我弄清楚如何去那里就应该没问题)
在form_modifications.php中我有以下内容(我只想测试它):
chdir(dirname(__FILE__)."/../../..");
require_once("config/config.inc.php");
require_once("init.php");
$sql_test = "INSERT INTO ps_test_product (name) VALUES ('test');";
Db::getInstance()->query($sql_test);
我无法理解为什么但它不起作用。查询没有执行,我找不到我做错了什么。任何人都可以帮我这个吗?
答案 0 :(得分:0)
我怀疑可能是ajax没有被解雇,因为你已经说过直接访问form_modification.php工作正常。所以我只能建议你应该做些什么来调试。从那里你会得到更多线索。
第1步:使用html内联onsubmit,所以删除该代码
<form method="post" action="#" id="productForm">
...............
</form>
第2步:使用jquery
更改Javascript代码并绑定提交事件 $( "#productForm" ).submit(function( event ) {
console.log("I am running");
var values = $(this).serialize();
$.ajax({
url: "forms/ajax/admin/form_modifications.php",
type: "post",
data: values,
success: function (response) {
alert("Success");
},
});
});
步骤3:使用谷歌浏览器并单击检查元素,然后单击网络选项卡。现在点击浏览器中的表单提交,填写任何输入,看看是否正在推送帖子请求。
步骤4:点击inspect元素的控制台标签,看看是否&#34;我正在运行&#34;正在打印出来。如果是,则提交事件正在运行。