簡體   English   中英

AngularJs不使用ngModel序列化表單數據

[英]AngularJs Serialize form data without using ngModel

在繼續我的問題之前,我知道可以使用ngModelAngularJs獲取表單數據,但是這會帶來一些問題,因為每次用戶與表單進行交互時,它將運行摘要周期 ,這可能會在我的應用程序的某些區域導致性能問題。

我知道我可以使用ngModelOption對此進行“某些”控制,但是使用ngModelOption並不簡單,因為我需要將其應用於表單中的每個ngModel 至少我不知道解決這種情況的另一種方法。


基本上,我需要一個簡單的表單,不需要立即更新任何內容(例如,有關登錄表單,用戶注冊的信息,例如,我們只需要收集數據並將其發送到數據庫)。

就這么簡單:

<form name="loginForm" novalidate ng-submit="loginForm.$valid && vm.login()">
    <input type="email" name="email" placeholder="E-mail" required />
    <input type="password" name="password" placeholder="Password" required />
    <button>Login</button>
</form>

但是,如果沒有在AngularJs中使用所有事件,則將觸發digestCycle,遍歷其他區域,等等。

注意:我可以只使用AngularJs(或純JS)來做到這一點。

如果允許您使用jQuery(而不僅限於jqLit​​e) 然后,您可以執行此操作以序列化表格

html

<div ng-controller="MyCtrl">

    <form id="loginForm" name="loginForm" novalidate ng-submit="loginForm.$valid && vm.login()">
        <input type="email" name="email" placeholder="E-mail" required />
        <input type="password" name="password" placeholder="Password" required />
        <button type='button' ng-click="LogIn()">Login</button>
    </form>

</div>

腳本

angular.module('myApp', []).controller('MyCtrl', function($scope) {
    $scope.LogIn = function()
    console.log(angular.element('#loginForm').serialize());//Check
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM