我有一个分为三部分的表单。每个部分都是动态的,并由数据库中的数据填充。例如,仅当其状态为 1 时,保存在数据库中的每个项目都可以在表单中显示为 input
。此外,与选定的数据一起,我的 PHP 脚本生成带有 +
的按钮和-
javascript函数如fiddle所示
我不知道如何解决的问题是如何为每个值大于0的输入保存name
和value
。我在徘徊是否有一些这两个 javasripts
可用于解决我的问题吗?
脚本 1,请参阅此 jsfiddle :
$('forma').submit(function(){
$('.qty').each(function(){
if($(this).val() != '0')
{
$('output').text($('output').text()+ ' ' + $(this).attr('name') + ' ' + $(this).val()+ ';' );
}
});
return false;
});
脚本2:
var inputs = document.getElementById('forma').children;
var data = {};
for(var i in inputs ){
if(inputs[i].value != 0)data[inputs[i].name] = inputs[i].value;
}
save.php 文件示例:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("article_db") or die(mysql_error());
$sql="INSERT INTO article (order)
VALUES ('".$_POST['output']."')";
$save = mysql_query($sql);
mysql_close();
?>
脚本3:
$(document).ready(function() {
$('#forma').submit(function(e){
e.preventDefault();
$('.qty').each(function(){
if($(this).val() != '0')
{
$('#output').text($('#output').text()+ ' ' + $(this).attr('name') + ' ' + $(this).val()+ ';' );
}
});
var e=$(this);
var output = document.getElementById('#output');
var out = $(e).val();
$.ajax({
type: "POST",
url: "save.php",
dataType: "json",
data: "out="+out,
success: function(response) {
if (response.ok){
alert("Saved: " + response)
}else{
alert(response.error);
}
},
error: function(){
alert("This won't gonna work like that!");
}
});
});
});
和保存.php:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("caffe") or die(mysql_error());
if(isset($_POST['forma'])){
$sql="INSERT INTO narudzbe(narudzba) VALUES ('".$_POST['output']."')";
$save = mysql_query($sql);
}
mysql_close();
?>
我从页面上的脚本 3 结果的第一部分获取,但它不会保存到数据库中。
如果是的话,我该怎么做?我以前从未使用过 AJAX 或 XMLHttprequest 将数据保存到数据库中,只使用过纯 PHP。我需要提及的是,我还在这个项目中使用了jquerymobile
。我知道 mysql_connect
和 mysqli_connect
已被弃用,但这仅用于练习。
提前谢谢您。
最佳答案
这可能对你有一点帮助......
$.ajax({
url: '/path/to/file',
type: 'default GET (Other values: POST)',
dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {param1: 'value1'},
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
现在..当我使用Ajax时我通常会做什么,我创建一个ajax.php并在里面使用isset条件...就像这样
if(isset($_POST['submitForm'])){
#php code
}
所以在数据中的 $.ajax 中:你必须像这样放置你的 isset 变量:
data: {submitForm: TRUE,otherdate:data}, //this is still javascript side
然后在 php 端,如果您想根据您设置的类型访问所使用的数据,您可以将它们获取为:
$_GET['otherdate'] OR $_POST['otherdate']
希望这对您有帮助!
关于javascript - 如果值大于 0,则使用 AJAX 或 XMLHttprequest 将数据保存到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121909/