javascript - 文本框值在 angularjs 中返回空

标签 javascript php angularjs json

我是 AngularJS 的新手。我在获取文本框的值时遇到一些问题。它只返回一个空字符串,我认为这是因为我声明每个模型等于“”。这是我的代码:

HTML

<form name="account" ng-submit="update_account(account.$submitted && account.$valid)" novalidate>
      <input required placeholder="{{placeholderForName}}" name="name" ng-model="name" type="text">
       <input required placeholder="{{placeholderForUname}}" name="uname" ng-model="uname" type="text">
       <input required placeholder="{{placeholderForPassw}}" name="passw" ng-model="passw" type="password">
      <button type="submit">Save!</button>
</form>  

JS

$scope.name = "";
$scope.uname = "";
$scope.passw = "";

$scope.account_update = function(isValid){
    if(isValid){

        $http.post('query?action=tnoucca_etadpu',{
            'name': $scope.name,
            'uname': $scope.uname,
            'passw': $scope.passw
        })
        .then(function(response){

            alert(response.data); // alerts empty string

        })
        .catch(function(response){
            $scope.showToast("SYS_ERROR: " + response.data);
        });

    }
};  

PHP

if ($action == "tnoucca_etadpu") {

    $data = json_decode(file_get_contents("php://input"));

    $name = $data->name;
    $uname = $data->uname;
    $pw = $data->passw;

    echo $name;
}

最佳答案

ng-submit="update_update(account.$subscribed && account.$valid)" 中的函数名称错误,而不是 $scope.account_update

参见示例 plnkr here

否则你的 Angular 代码没有任何问题。

此外 您可以使用 :if($scope.account.$valid){} 代替 if(isValid){} 并且不需要传递任何值。

关于javascript - 文本框值在 angularjs 中返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41994737/

相关文章:

c# - 什么是 JScript 区分大小写规则?

javascript - 为什么不允许JS forEach函数中的 'break'?

javascript - ES6 中的二维数组

php - mysql 条件查询

javascript - 我怎样才能做出瀑布 Q promise ?

JavaScript:访问具有可以未定义的属性的对象

php - 如何在同一 select 语句中从第一个表的列值中选择第二个表的数据?

php - 将后台 worker 添加到 AWS Elastic Beanstalk

javascript - 在 ng-model 之后填充 ng-options

javascript - 如何在 Bacon.js 中合并两个属性