Javascript http.post成功时未触发输入元素的单击事件
html: 上面的示例运行良好,并引发输入元素的click事件。 但是当我在http.post-success函数中尝试相同的方法时,它失败了Javascript http.post成功时未触发输入元素的单击事件,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,html: 上面的示例运行良好,并引发输入元素的click事件。 但是当我在http.post-success函数中尝试相同的方法时,它失败了 $scope.yesClick = function (viewName) { var input = document.querySelector('input[type=file]'); $log.log("input: " + input); input.click(); $log.log(viewName);
$scope.yesClick = function (viewName) {
var input = document.querySelector('input[type=file]');
$log.log("input: " + input);
input.click();
$log.log(viewName);
$location.path(viewName);
}
在这种情况下,不会触发click事件!
有什么问题?在这两种情况下,日志向我显示由
document.querySelector
创建的输入对象是HTMLInputElement
当您单击它时控制台显示什么?输入:[object HTMLInputElement]-http.post方法返回成功,但是事件没有被触发…您是否尝试过将html对象包装到jQuery对象中:$(输入)代码>,不知道我是否做对了,只是一个简单的问题,我尝试了“var myElement=document.getElementById(“mypic”);angular.element(myElement).triggerHandler(“click”);”但没有成功。到目前为止,我的项目中还没有引用jQuery库,我想我可以用angularJS管理所有事情……问题是:为什么它直接在button事件中工作,而不在Suces函数中工作。。。?!?不同的范围?
$scope.yesClick = function (viewName) {
var input = document.querySelector('input[type=file]');
$log.log("input: " + input);
input.click();
$log.log(viewName);
$location.path(viewName);
}
$scope.yesClick = function (viewName) {
CheckAmount($scope.amount, viewName);
}
function CheckAmount(val,viewName) {
var endpoint = Model.getServerAdress() + "CheckAmount";
var req = {
method: 'POST',
url: endpoint,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: 'amount=' + $scope.amount
};
$http(req)
.success(function (data) {
$scope.amountDB = makeJsonString(data, $log);
if ($scope.amountDB == val)
{
var input = document.querySelector('input[type=file]');
$log.log("input: " + input);
input.click();
$location.path(viewName);
}
else {
...
}
})
.error(function (data) {
$log.log("ERROR" + data);
});
}