Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将动态创建的输入从Angular提交到PHP页面_Javascript_Php_Jquery_Angularjs - Fatal编程技术网

Javascript 将动态创建的输入从Angular提交到PHP页面

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 = ""

我正在尝试创建一个发票表单,它可以自己进行所有必要的计算,如小计、税总额

点击submit按钮应将所有值和动态创建的项提交到PHP页面,该页面将按照我的意愿将用户编写的或angularjs计算的这些值插入适当的SQL表/列

基于此,我添加了此javascript代码

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行。我使用这个项目来创建我的发票表单,所以逻辑基本相同。