Javascript 将动态创建的输入从Angular提交到PHP页面
我正在尝试创建一个发票表单,它可以自己进行所有必要的计算,如小计、税总额 点击submit按钮应将所有值和动态创建的项提交到PHP页面,该页面将按照我的意愿将用户编写的或angularjs计算的这些值插入适当的SQL表/列 基于此,我添加了此javascript代码Javascript 将动态创建的输入从Angular提交到PHP页面,javascript,php,jquery,angularjs,Javascript,Php,Jquery,Angularjs,我正在尝试创建一个发票表单,它可以自己进行所有必要的计算,如小计、税总额 点击submit按钮应将所有值和动态创建的项提交到PHP页面,该页面将按照我的意愿将用户编写的或angularjs计算的这些值插入适当的SQL表/列 基于此,我添加了此javascript代码 function PhpCtrl($scope, $http, $templateCache) { var method = 'POST'; var url = 'added.php'; $scope.codeStatus = ""
function PhpCtrl($scope, $http, $templateCache) {
var method = 'POST';
var url = 'added.php';
$scope.codeStatus = "";
$scope.add = function() {
var FormData = {};
$http({
method: method,
url: url,
data: FormData,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
cache: $templateCache
}).
success(function(response) {
$scope.codeStatus = response.data;
}).
error(function(response) {
$scope.codeStatus = response || "Request failed";
});
return false;
};
}
有人能帮助我如何存储所有动态创建的项及其值,以便将它们提交到php页面吗?您可以创建一个FormData,使用普通javascript动态提交,如下所示:
var fd = new FormData();
fd.append("fieldName", valueToSubmit);
fd.append("arrayField[]",[1,2,3]); //you can even post array data
您将fd推送到服务器上的步骤:
var uri = "added.php";
var xhr = new XMLHttpRequest();
xhr.open("POST",uri,true);
xhr.onreadystatechange=function(){
if(xhr.readyState == 4 && xhr.status==200){
//do something with returned data
}
};
fd.append("img_file",blob_to_upload);// you can even upload a file
fd.append("user_id",data);
fd.append("category_id",category_id);
xhr.send(fd);
只需使用var FormData=$'formId'。序列化。我希望您所指的所有动态创建的项目都将作为HTML元素添加到标记中。如果没有任何变量,请将它们添加到变量中,如FormData+='&newValue=123&otherVal=kitty';。可以使用FormData对象创建要提交到服务器的对象。但是在这里,你提交了一个空表单。你好,cackharot,很遗憾你的解决方案不起作用,当我点击提交按钮时,Chrome/IE 11甚至看不到变量。关于动态创建的项目,请查看本页第78至85行。我使用这个项目来创建我的发票表单,所以逻辑基本相同。