【问题标题】:AngularJS get form empty data tooAngularJS 也获取表单空数据
【发布时间】:2013-10-04 13:41:42
【问题描述】:

我正在尝试将带有 angularjs 的表单数据保存到使用 php 作为后端的数据库中。我有这个 html 作为表单

<form ng-submit="newContactSubmit()">
        <label>FirstName<input type="text" name="contact_firstname" required ng-model="newContact.contact_firstname" /></label>
        <label>LastName<input type="text" name="contact_lastname" ng-model="newContact.contact_lastname" /></label>
        <button type="submit">Save</button>
    </form>

现在的问题是在我的情况下不需要姓氏,如果我发送表单时没有填写任何姓氏,那么newContact 变量只有contact_firstname 字段,这使得它在 php 端出错。

$scope.newContactSubmit = function() {
    alert(JSON.stringify($scope.newContact));
    /*contactService.saveContact($scope.newContact).then(function(response) {
        alert(JSON.stringify(response));
    });*/
};

控制器不会将contact_lastname 字段发送为空。即使我没有完成它们,有没有办法让它定义两个变量?谢谢你,丹尼尔!

【问题讨论】:

  • 空键的值应该是多少? null?
  • 是或只是空字符串

标签: javascript php angularjs


【解决方案1】:

如何为contact_lastname 预定义默认值?

// inside your controller
$scope.newContact.contact_lastname = '';

这样newContact 始终具有contact_lastname 默认值,即使该字段保持不变。

【讨论】:

  • 这可能是一个解决方案,我问是因为我认为有一个我不知道的更本地的解决方案:)
  • 如果您将ng-model 映射到控制器内(尚未)定义的变量,则在用户与其交互之前,其值为undefined。所以你必须要么定义它的默认值,要么容忍它在服务器端不存在。
猜你喜欢
  • 1970-01-01
  • 2014-12-24
  • 1970-01-01
  • 2018-07-03
  • 1970-01-01
  • 2014-05-25
  • 2015-06-25
  • 1970-01-01
  • 2018-08-20
相关资源
最近更新 更多