Новое для углового, нового для жизни:ng-model vs ngModel - breaks form
У меня есть небольшая электронная почта.
Это работает:
<form method="post" name="form" role="form" ng-controller="contactForm" ng-submit="form.$valid && sendMessage(input)" novalidate class="form-horizontal">
<p ng-show="success"><b>We received your message</b></p>
<p ng-show="error">Something wrong happened!, please try again.</p>
<label for="name">Name:</label><br>
<input type="text" id="name" name="name" ng-model="input.name" required><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" ng-model="input.email" required><br>
<label for="messsage">Message:</label><br>
<textarea id="messsage" name="message" ng-model="input.message" ngMaxlength='2000' required></textarea><br>
<button type="submit" name="submit" ng-disabled="error" value="submit">Submit</button>
</form>
Это не работает:
<form method="post" name="form" role="form" ng-controller="contactForm" ng-submit="form.$valid && sendMessage(input)" novalidate class="form-horizontal">
<p ng-show="success"><b>We received your message</b></p>
<p ng-show="error">Something wrong happened!, please try again.</p>
<label for="name">Name:</label><br>
<input type="text" id="name" name="name" ngModel="input.name" required><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" ngModel="input.email" required><br>
<label for="messsage">Message:</label><br>
<textarea id="messsage" name="message" ngModel="input.message" ngMaxlength='2000' required></textarea><br>
<button type="submit" name="submit" ng-disabled="error" value="submit">Submit</button>
</form>
для 2 входов и текстовое поле, если я использую «нг-модель» электронной почты отправляет, но при загрузке страницы , форма загружается недействительной. Если я использую 'ngModel', форма загружается чистым, но электронная почта не будет отправлена.
контроллер здесь:
app.controller("contactForm", ['$scope', '$http', function($scope, $http) {
$scope.success = false;
$scope.error = false;
$scope.sendMessage = function(input) {
$http({
method: 'POST',
url: 'processForm.php',
data: input,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
})
.success(function(data) {
if (data.success) {
$scope.success = true;
$scope.input.name="";
$scope.input.email="";
$scope.input.message="";
} else {
$scope.error = true;
}
});
}
Вы можете видеть, что здесь живут: http://smartestdiner.com/Bethel/indexx.html#/contact Предупреждение: Существует несколько раздражает красный фон
.ng-invalid{
background-color:red;
}
}]);
Вот как мы знаем, что загружается недействительно.
реализован благодаря любое предположение на нг -modelvs ngModel вопросы? – hogarth45
Я не видел эту часть вопроса .. :) – PSL
Я не понял, что вы имели в виду под 'для 2-х входов и текстового поля, если я использую 'ng-model', который отправляет электронное письмо, но когда страница загружается, Недопустимые значения формы. Если я использую 'ngModel', форма загружается чистым, но электронная почта не будет отправлена. '? – PSL