Ich habe ein Formular mit einem Absenden-Taste, die gut funktioniert. Allerdings muss ich die Formulardaten von einem klaren Knopf löschen, der außerhalb des Formulars oben rechts auf der Seite sitzt. Die Schaltfläche zum Löschen befindet sich in einem übergeordneten Controller und befindet sich oberhalb des Formulars in der oberen rechten Kopfzeile. Das Formular, das über die Schaltfläche "Löschen" gesendet wird, wird immer als nicht definiert angezeigt, da die Schaltfläche "Löschen" nicht Teil des Formulars ist.angularjs -wie die Formulardaten von einem klaren Knopf außerhalb des Formulars zu löschen
Wie übergebe ich die gleiche Instanz des Formulars zu löschen? Wie lösche ich die Daten? Wenn das ein Designproblem ist, brauche ich noch eine Abhilfe.
Hier ist eine Geige, die ich erstellt habe, um das nachzuahmen. Jede Hilfe wird geschätzt.
https://jsfiddle.net/SobDan/vj67rtb2/
<div ng-app>
<div class="col-md-10">
<h2>Todo</h2></div>
<div class="col-md-2">
<button class="btn pull-right" ng-click="clear(TodoForm)"> Close</button>
</div>
<br>
<div ng-controller="TodoCtrl">
<form name="TodoForm" ng-submit="addTodo()" name="testForm">
<input type="text" ng-model="todoText" size="30" placeholder="add new todo here">
<input class="btn-primary" type="submit" value="add">
</form>
</div>
function MainCtrl($scope) {
$scope.clear = function(form) {
alert(form); // the form is undefined
if (form.$dirty)
form.setPristine(); // clean this form
else
alert("form not dirty");
};
};
function TodoCtrl($scope) {
$scope.todoText = "test";
$scope.addTodo = function() {
alert("Submitted");
$scope.todoText = "";
// submit logic works fine
};
}
von '$ scope' Kann auch da andere Controller übertragen klar 1.0.x
In 1.0.x konfiguriert werden ist ein Kind – charlietfl
Kalyan kann ich die alle Felder mit Formular ohne Verwendung von $ setPristine löschen –