Передача данных, введенных из директивы в контроллер в AngularJS

Я пытаюсь выполнить встроенное редактирование в angularJS, а затем обновить данные, введенные в таблицу Mysql, но я новичок в угловых и не знаю, как обрабатывать введенные данные (из директивы) и передать его в контроллер, чтобы сохранить его в БД, поэтому в коды ниже: переменные tid все еще пусто после редактирования .. как я могу сохранить новый идентификатор после встроенного редактирования, чтобы отправить их в базу данных?

HTML:

<tbody>
<tr ng-repeat="item in ItemsByPage[currentPage]">
<td>
<div contentEditable="true" ng-model="tid" val='tid'>
{{item.id}}
</div>

<button ng-click="inlineupdate()" type="button">
Save
</button>
</td>
</tr>
</tbody>

в контроллере:

$scope.inlineupdate = function () {
var data = {
tid : $scope.val,
};
var request = $http({
method: "post",
url: "inlineupdate.php",
params: {
action: "post"},
data: data
});
return( request.then( handleSuccess, handleError ) );

};

и директива:

myApp.directive('contenteditable', function() {
return {
restrict: 'E',
scope: {
val : '='
},
link: function(scope, elm, ctrl) {

// view -> model
elm.bind('blur', function() {
scope.$apply(function() {
ctrl.$setViewValue(elm.html());
});
});

// model -> view
ctrl.render = function(value) {
elm.html(value);

};

// load init value from DOM
ctrl.$setViewValue(elm.html());

elm.bind('keydown', function(event) {
console.log("keydown " + event.which);
var esc = event.which == 27,
el = event.target;

if (esc) {
console.log("esc");
ctrl.$setViewValue(elm.html());
el.blur();
event.preventDefault();
}

});

}
};

и файл inlineupdate.php для обновления данных в mysql:

<?php
header('Content-Type: application/json');
include 'connect.php';
$db = new database();
$db->setDb_name('training');
$db->connect();
if(isset($_POST)){
$id = $_POST['val'];
$name = 'name';
$data =   $db->inlineupdate('user',array('id'=>$id),array('name'=>$name));
echo json_encode($data);
}
mysql_close();
?>

консоль выдает уведомление, что «неопределенный индекс: tid в файле inlineupdate.php»

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector