这似乎是一个非常简单的问题,但是由于任何原因,我的submit()
方法都没有在JS中调用。
HTML:
<ion-view title="Register" hide-nav-bar="true" nav-transition="none" id="page9">
<ion-content padding="true" class="manual-ios-statusbar-padding" scroll="false">
<form id="register-form4" ng-submit="register()" class="list">
<ion-list id="register-list4">
<label class="item item-input" id="register-input7">
<input type="text" ng-model="registration.email" placeholder="Email" required>
</label>
<label class="item item-input" id="register-input9">
<input type="password" ng-model="registration.password" placeholder="Password" required>
</label>
</ion-list>
</form>
<a id="register-button7" ng-click="document.getElementById('register-form4').submit();" class="button button-positive button-block">Create Account</a>
<a ui-sref="login" id="register-button8" class="button button-positive button-block button-clear">Back</a>
<div ng-show="isError">{{ loginError }}</div>
</ion-content>
</ion-view>
控制器:
.controller('registerCtrl', ['$scope', '$stateParams', "$firebaseAuth", "$location",
function ($scope, $stateParams, $firebaseAuth, $location) {
$scope.register = function() {
var email = $scope.registration.email,
password = $scope.registration.password,
confirmPassword = $scope.registration.confirmPassword;
console.log("Being submitted");
}
}])
我不能更改
<a>
标记,即使只是提交表单input
会更容易,但是HTML是由Ionic Creator自动生成的,我无法弄乱它。编辑:之所以我想以这种方式提交表单,而不仅仅是单击按钮时触发
register()
的原因是,我想触发表单中的HTML required
,以便检查是否已输入字段我不必手动做编辑2:我已将
<a>
标记更改为一个提交按钮。但是,这仍然没有调用register()
方法,该方法表明未提交表单:<input type="submit" value="Create Account" id="register-button7" class="button button-positive button-block">
查看这些docs,它应该可以工作,因为它几乎是相同的格式
我已经读过1个用户的东西,它们与标准HTML
submit
和ng-submit
不能一起使用。有人知道这是真的吗? 最佳答案
您可以在表单内使用类型为commit的html input
或button
。这是JSFiddle上的工作示例:https://jsfiddle.net/ydbhb5dL/
控制器:
angular
.module('App', [])
.controller('ExampleController', function ($scope) {
$scope.registration = {};
$scope.register = function () {
var email = $scope.registration.email,
password = $scope.registration.password;
console.log('Email:', email);
console.log('Password:', password);
console.log('Being submitted!');
};
});
HTML:
<div ng-app="App" ng-controller="ExampleController">
<ion-view title="Register" hide-nav-bar="true" nav-transition="none" id="page9">
<ion-content padding="true" class="manual-ios-statusbar-padding" scroll="false">
<form id="register-form4" ng-submit="register()" class="list">
<ion-list id="register-list4">
<label class="item item-input" id="register-input7">
<input type="text" ng-model="registration.email" placeholder="Email" required>
</label>
<label class="item item-input" id="register-input9">
<input type="password" ng-model="registration.password" placeholder="Password" required>
</label>
</ion-list>
<input type="submit" class="button-like-link" value="Create Account (button)">
</form>
</ion-content>
</ion-view>
</div>
关于javascript - JavaScript提交无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40250067/