Ich verwende ein Fenster-Onload-Skript, um Long und Lat zu erfassen und sie an den versteckten Eingabewert zu übergeben.Angular ng-Modell kann keinen Onload-Eingangswert erfassen
$(function() {
window.onload = getLocation;
var geo = navigator.geolocation;
function getLocation() {
if (geo) {
geo.getCurrentPosition(displayLocation);
} else {
alert("Oops, Geolocation API is not supported");
}
}
function displayLocation(position) {
var lang = position.coords.longitude;
var lat = position.coords.latitude;
console.log(lat);
document.getElementById('txtlat').value = lat;
document.getElementById('txtlang').value = lang;
}
});
Dann versuche ich den Wert dieses Eingangs mit Winkel ng-model
zu erfassen, aber es scheint nicht zu funktionieren. Es ist so, als wäre es leer und es weiß nicht, dass Eingabefelder gefüllt sind, irgendwelche Ideen, wie man es beheben kann?
//controller of the register html
$scope.user = {};
$scope.register = function(form) {
$scope.submitted = true;
if (form.$valid) {
Auth.createUser({
name: $scope.user.name,
email: $scope.user.email,
password: $scope.user.password,
lang: $scope.user.lang,
lat: $scope.user.lat
})
.then(function() {
// Account created, redirect to home
$state.go('main');
})
.catch(function(err) {
err = err.data;
console.log(err);
$scope.errors = {};
// Update validity of form fields that match the mongoose errors
angular.forEach(err.errors, function(error, field) {
form[field].$setValidity('mongoose', false);
$scope.errors[field] = error.message;
});
});
} else {
console.log("form not work")
}
console.log($scope.user);
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<form class="form" name="form" ng-submit="register(form)" novalidate>
<input type="text" name="txtlang" class="form-control" id="txtlang" ng-model="user.lang">
<input type="hidden" name="txtlat" class="form-control" id="txtlat" ng-model="user.lat">
<button class="btn btn-inverse btn-lg btn-register" type="submit">
Sign up</button>
</form>
Wenn ich versuche, durch die onload-Funktion zu tun zu registrieren, werden Werte Eingang nicht erfasst und gespeichert bekommen, wenn ich den Eingangswert nach der Standard-Capture ändern, wenn das Sinn macht?
Es über AngularJS in dieser Frage nichts ist, wo ist der Winkelteil? –
der Teil, wo ich ng-Modell verwenden, um die Eingabefelder zu erfassen? :) {{}} sollte diesen Teil geschrieben haben, um es klarer zu machen i errate Entschuldigung – ben
Bitte [Bearbeiten] (http://Stackoverflow.com/posts/43711016/edit) Ihre Frage und fügen Sie es dort, kein Schaden angerichtet :) –