2012-09-18 3 views
2

편집 할 값을 가져 오려면 텍스트 상자에 입력하십시오 (예 : 텍스트 상자가 비어있는 경우). 사용자가 편집 링크를 클릭하면 텍스트 상자에 값을 입력해야합니다. 사용자가 값을 변경할 수 있으며 저장 버튼을 클릭하면 새 값이 업데이트됩니다. 되어 다음과 같은 코드 :anglejs에서 PHP를 사용하여 편집

html 코드 : 저장

컨트롤러 :

$scope.fetch = function(id) { 
      var elem = angular.element($element); 
      var dt = $(elem).serialize(); 
      dt = dt+"&id="+id; 
      dt = dt+"&action=fetch"; 
      alert(dt); 
      console.log($(elem).serialize()); 
      $http({ 
       method: 'POST', 
       url: 'php/products.php', 
       data: dt, 
       headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
      }).success(function(data, status) { 
       //~ $scope.status = status; 
       //~ $scope.data = data; 
       $scope.rs = data; 
       console.log($scope.rs); // Show result from server in our <pre></pre> element 
      }).error(function(data, status) { 
       $scope.data = data || "Request failed"; 
       $scope.status = status; 
      }); 
     }; 

products.php :

if($action == 'fetch') { 
$query = ' 
SELECT 
    * 
FROM 
    product 
WHERE 
    `product_id` ="' . $_POST['id'] . '" 
'; 
$result = mysql_query($query) OR die(mysql_error()); 
$data = array(); 
$row = mysql_fetch_assoc($result); 
echo json_encode($row); 
//print_r($row); 

}

이 코드가 작동하지 않습니다 - 사용자 c 모든 사용자의 편집 링크를 누르면 텍스트 상자가 value- Object 객체로 채워집니다. ti가 값을 인쇄하면 인쇄되지만 텍스트 상자에 할당하려고하면 Object 객체로 채워집니다. 어디서 잘못 되었나요? 어떻게 해결할 수 있을까요?

답변

0

각도를 사용하는 경우 jQuery를 사용하여 필드를 가져 오거나 설정하지 마십시오.

<input type="text" ng-model="field1"> 

컨트롤러 : 응답을 수신 할 때

//set 
$scope.field1 = obj.field1; 

//get 
var f1 = $scope.field1; 
0

당신은 angular.fromJson 기능을 사용하는 것을 잊었다

.success(function(json, status) { 
       data=angular.fromJson(json); 
       //~ $scope.status = status; 
       //~ $scope.data = data; 
       $scope.rs = data; 
       console.log($scope.rs); // Show result from server in our <pre></pre> element 
      }) 

당신은 약간의 시간을 AngularPHP으로 살펴보고 저장할 수도

관련 문제