コントローラにデータを送信する際に問題があります。これが私の見解ビューの入力から数値を角度に変換できない
<form ng-submit="submitMessage()">
<div class="form-group">
<input type="number" class="form-control input-sm" name="id_user" ng-model="messageData.id_user" value={{currentUser.id}} >
</div>
<div class="form-group">
<input type="number" class="form-control input-sm" name="id_thread" ng-model="messageData.id_thread" value={{messages[0].id_thread}}>
</div>
<!-- COMMENT TEXT -->
<div class="form-group">
<input type="text" class="form-control input-lg" name="message" ng-model="messageData.text" placeholder="Write your message">
</div>
<!-- SUBMIT BUTTON -->
<div class="form-group text-right">
<button type="submit" class="btn btn-primary btn-lg submit-btn">Submit</button>
</div>
</form>
であり、これは、私は自分のデータを送信する私のコントローラ、次のとおりです。
angular.module('messageCtrl', []).controller('messageController', function($scope, $http, Message, $stateParams) {
// object to hold all the data for the new comment form
$scope.messageData = {};
//get id from route
var id = $stateParams.id;
// get all the comments first and bind it to the $scope.comments object
// use the function we created in our service
// GET ALL COMMENTS ==================================================
Message.get(id).then(successCallback);
function successCallback(data) {
$scope.messages = data.data;
}
// function to handle submitting the form
// SAVE A COMMENT =====================================================
$scope.submitMessage = function() {
// save the comment. pass in comment data from the form
// use the function we created in our service
console.log($scope.messageData);
Message.save($scope.messageData).then(successCallback2, errorCallback);
function successCallback2(getData) {
$scope.messages = getData.data;
Message.get(id).then(successCallback);
}
function errorCallback(data) {
console.log(data);
}
};
});
私は、データが送信されているかを確認するには、コントローラではconsole.log()を持っており、テキストのみが送信されます。私は、最初の2つの入力を隠しておき、その中に価値を持っているようにしようとしています。これは基本的にスレッドにコメントを送るので、スレッドのユーザIDとIDを含んでいます。私はそれらを見えるようにしたくありませんが、私はそれらをコントローラに送る必要があります。 Iてmanualy入力が数字私は値でそれを持っているとき、それは「」=属性を[OK]を動作しますが、ときに、私は、コンソールにこのエラーが表示されます。
angular.js:3505 The specified value "{{messages[0]['id_thread']}}" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
angular.js:3505 The specified value "{{currentUser.id}}" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
私はDEVを開いたときので、私は、それを理解していませんツールと値を見て、それは数字としてそこにあります。そして、いつ
[OK]を、ので、私は、value属性を削除しました。テキスト値を送信すると、コントローラー自体に必要なIDを追加しました。私はlocalStorageにユーザーIDを持っていて、スレッドIDはURLにありました – Arcane