Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 角度$scope.$apply不能与表单一起正常工作。提交()_Javascript_Angularjs_Forms_Scope_Angularjs Scope - Fatal编程技术网

Javascript 角度$scope.$apply不能与表单一起正常工作。提交()

Javascript 角度$scope.$apply不能与表单一起正常工作。提交(),javascript,angularjs,forms,scope,angularjs-scope,Javascript,Angularjs,Forms,Scope,Angularjs Scope,我有以下代码,在响应设置为隐藏字段后提交表单。问题是,如果我不等待几毫秒或几秒钟,那么它就不会保存它,如果我等待一点点,然后提交表单,那么它工作得很好 我基本上希望在值设置为paymentToken(隐藏字段)后立即提交表单 在$scope.$apply完成之前,您对scope变量(即,$scope.paymentToken=…)所做的更改不会应用于UI(即您正在提交的表单) 您基本上需要将submit()移动到下一个周期。一个简单的方法是 console.log($scope.paym

我有以下代码,在响应设置为隐藏字段后提交表单。问题是,如果我不等待几毫秒或几秒钟,那么它就不会保存它,如果我等待一点点,然后提交表单,那么它工作得很好

我基本上希望在值设置为paymentToken(隐藏字段)后立即提交表单


在$scope.$apply完成之前,您对scope变量(即,
$scope.paymentToken=…
)所做的更改不会应用于UI(即您正在提交的表单)

您基本上需要将
submit()
移动到下一个周期。一个简单的方法是

    console.log($scope.paymentToken);
    $timeout(function() {
        document.getElementById("myForm").submit();
    }, 0);
});

当然,在注入$timeout之后

在$scope.$apply完成之前,您对scope变量(即,
$scope.paymentToken=…
)所做的更改不会应用到UI(即您正在提交的表单)

您基本上需要将
submit()
移动到下一个周期。一个简单的方法是

    console.log($scope.paymentToken);
    $timeout(function() {
        document.getElementById("myForm").submit();
    }, 0);
});
当然,在注入$timeout之后