javascript - Javascript中的嵌套函数,需要将变量传递给父函数
问题描述
我有一个表格,我正在使用它来获取签名,我希望它还能在后台获取用户的位置,作为额外的保证签名是真实的(工作是在现场完成的)。
我对 Javascript 不是很熟悉,并且一直在努力让它工作。我知道问题(可能)与变量的范围有关,并且父函数没有获得正确的数据传递。我什至将静态值分配给 lat 和 long 进行测试,当我将它们传递给父函数(发送)时,这些值仍然是空白的。
我尝试了很多事情,例如尝试将变量声明为全局变量,取消嵌套函数并使其成为自己的;但我认为我自己对 Javascript 的理解不足使我无法有效地解决这个问题。如果有人能指出我的错误(或指出我正确的方向),我会非常感激,我一直在努力解决这个问题,我知道这从根本上来说很简单。
send : function(){
var lat = "";
var long = "";
//if (empty == false){
navigator.geolocation.getCurrentPosition(function(position) {
var coords = position.coords;
lat = coords.latitude;
long = coords.longitude;
lat = '123';
long = '1234';
//return lat;
//return long;
});
//var lat = position.coords.latitude;
//var long = position.coords.longitude;
var canvas = document.getElementById("newSignature");
var dataURL = canvas.toDataURL("image/png");
document.getElementById("saveSignature").src = dataURL;
//var replyemail = document.getElementById('replyemail').value;
var workorder = document.getElementById('workorder').value;
var printedname = document.getElementById('printedname').value;
var managertype = document.getElementById('managertype').value;
var dataform = document.createElement("form");
document.body.appendChild(dataform);
dataform.setAttribute("action","signsend/upload_file.php");
dataform.setAttribute("enctype","multipart/form-data");
dataform.setAttribute("method","POST");
dataform.setAttribute("target","_self");
dataform.innerHTML = '<input type="text" name="image" value="' + dataURL + '"/>' + '<input type="text" name="lat" value="' + lat + '"/>' + '<input type="text" name="long" value="' + long + '"/>' + '<input type="text" name="printedname" value="' + printedname + '"/>' + '<input type="text" name="managertype" value="' + managertype + '"/>' + '<input type="text" name="workorder" value="' + workorder + '"/>' + '"/>'+'<input type="submit" value="Click me" />';
dataform.submit();
}
解决方案
推荐阅读
- ms-access - 访问:禁用组合框
- python - (关于基数排序)我无法理解教授的代码
- python-3.x - 在 freeopcua 服务器中定义输入参数类型和名称
- git - TFS 错误的克隆 URL 但正确的连接?
- python-3.x - 遍历字典键和项目时出现类型错误
- mysql - Mysql LIKE %...% 连同表
- java - 如何添加相同 JPanel 的多个实例
- javascript - Ext.Viewport.add 没有居中的真值就不能很好地工作
- angular - 为什么 DI 在 Angular 的类 Constructor 中完成?
- amazon-ec2 - Terraform:找不到变量“aws_instance.id”的资源“aws_instance”