我想通过使用输入文本向我的数据库添加新注释,但我不想使用表单或onclick。这是我的输入文本结构
<input type="text" class="comment_input" ng-model="comment" ng-model-options="{updateOn : 'change blur'}" placeholder="To enter" />
当我尝试使用bind时,它会在我按下enter按钮时显示我的注释,但我想将其插入到我的数据库API中。这是我的插入数据的功能。
$scope.insertData=function(){
console.log($scope.comment);
console.log($scope.lang_code);
console.log($scope.user_id);
console.log($scope.product_id);
var dataPromise = Data.setData("API_URL","user_id="+$scope.user_id+"&product_id="+$scope.product_id+"&comment="+$scope.comment+"&lang="+$scope.lang_code);
dataPromise.then(function(greeting) {
console.log(greeting);
if (greeting.data.result == true) {
$scope.requestProductDetail(1,5,1);
$timeout(function () {
window.scrollTo(0,document.body.scrollHeight);
}, 0, false);
}
}, function(reason) {
}, function(update) {
});
}}]);
人
啊,我做了什么后如何刷新这个页面? * insertdata / onclick按钮答案 0 :(得分:0)
您可以使用此指令触发输入键事件
app.directive('enterKeyPressed', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 13) {
scope.$apply(function (){
scope.$eval(attrs.enterKeyPressed);
});
event.preventDefault();
}
});
};
});
从html使用它,如下所示
<input type="text" class="comment_input" ng-model="comment" enter-key-pressed="insertData()" placeholder="To enter" />
如果您使用ng-repeat显示注释,只需将新注释推送到注释数组
要重新加载页面,您可以使用$ route服务的重载方法。在你的控制器中注入$ window,然后在insertData()函数的末尾调用$ window.location.reload()
希望有所帮助