我正在尝试通过点击按钮在弹出窗口中输入数据,但是它会为输入数据检索未定义的值,请提供帮助。
<modal title="Login form" name="modaloption" ng-model="modaloption" visible="showModal">
<form role="form" >
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" id="email" ng-model="email" name="email" placeholder="Enter email" />
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" ng-model="password" name="password" id="password" placeholder="Password" />
</div>
<button type="submit" name="submit" ng-click="submit()" class="btn btn-default">Submit</button>
</form>
</modal>
脚本:
$scope.submit = function(){
console.log("testing button");
$scope.showModal = !$scope.showModal;
console.log("email:"+$scope.email);
};
答案 0 :(得分:0)
你还没有说过这个模态指令的来源,以及它所记录的位置,但据推测,它定义了自己的范围,这意味着ng-model填充的名称和密码都在模态中指令范围,而不是在控制器范围内。这也是在ng-if或ng-repeat中使用ng-model时会发生的情况。
确保在控制器中有这行代码:
$scope.modalState = {};
并在视图中使用
ng-model="modalState.email"
答案 1 :(得分:0)
似乎工作正常,请参阅此jsfiddle:http://jsfiddle.net/dotywy1j/1/
这打印出我从输入字段输入的内容。您可能遇到的问题是电子邮件的输入标记不会存储实际值,除非它是有效的电子邮件。(something@something.com)
<input type="email" class="form-control" id="email" ng-model="email" name="email" placeholder="Enter email" />