wake-up-neo.com

Binden Sie versteckte Eingaben an das Modell in angular

Ich habe folgendes Formular:

<form name="frmInput">

    <input type="hidden" ng-model="record.usersId" value="{{user.userId}}"/>
    <input type="hidden" ng-model="record.userNameId" value="{{user.userNameId}}"/>
    <label for="fileNo">AccountId</label>
    <input id="fileNo" ng-model="record.fileNo" required/>
    <label for="madeSad">MadeSad</label>
    <input id="madeSad" ng-model="record.madeSadNo" required/>

    <button ng-disabled="!frmInput.$valid" ng-click="SaveRecord(record)">Accept</button>

</form>

Ich erhalte record.fileNo Und record.madeSadNo In der Funktion SaveRecord, aber ich erhalte nicht record.usersId Und record.userNameId In der Funktion SaveRecord .

Wo mache ich Fehler?

die Werte der ausgeblendeten Eingaben sind korrekt.

32
MRB

Ausgeblendete Formularfelder sind nicht die Angular) Methode. Sie benötigen überhaupt keine ausgeblendeten Felder, da alle Bereichsvariablen (die nicht im Formular enthalten sind) als ausgeblendete Variablen verwendet werden können.

Was die Lösung angeht, füllen Sie beim Absenden des Formulars einfach das Objekt 'Datensatz' mit 'Benutzer':

function SaveRecord(){
  $scope.record.usersId = $scope.user.userId;
  $scope.record.userNameId = $scope.user.userNameId;
  http.post(url, $scope.record);
}

Als Randnotiz brauchen Sie Ihre Variable beim Aufrufen der Funktion nicht zu erwähnen:

<button ng-disabled="!frmInput.$valid" ng-click="saveRecord()">Accept</button>
40
CodingNinja

Sie können so etwas verwenden:

<input type="hidden" ng-model="record.usersId" value="{{user.userId}}" ng-init="record.usersId=user.userId"/>
22

Verstecktes Feld unterstützt keine Doppelbindung.

Benutze einfach folgendes:

<input type="hidden" name="userId" value="{{user.userId}}"/> {{user.userId}}
<input type="hidden" name="UserNameId" value="{{user.userNameId}}"/> {{user.userNameId}}
3
Bappi Datta