简体   繁体   中英

How to retrieve dynamic parameters with AngularJS

I can't retrieve the parameters with ng-submit in a dynamic form submit.

.

Screenshot:

帮助我获取参数表格

Show code:

(function() {
    'use strict';

    angular.module('starter.controllers')
        .controller('MessagesCtrl', msgs);

    function msgs() {
        console.log('Loading MessagesCtrl!');

        var vm = this;

        vm.doMessage = function(_form) {
            if (_form.$valid) {
                console.log(_form);

                // Who get parameters dynamic to POST?
            }
        };
    };

})();

Html form

<form name="submitForm" no-validate="" ng-submit="vm.doMessage(submitForm)">
    <div class="responsive-grid-break list list-inset padding-1">

        <h1>Enviar uma mensagem</h1>

        <label class="item item-input">
            <span class="input-label">For</span>

            <div class="item-input">
                <i class="icon ion-search placeholder-icon"></i>

                <input type="search" name="search" ng-model="msg.search" placeholder="..." />
            </div>
        </label>

        <label class="item item-input">
            <span class="input-label">Message</span>

            <div class="separator item-input">
                <textarea name="msgtext" ng-model="msg.text" placeholder="This message."></textarea>
            </div>
        </label>

        <div class="list list-inset">
            <div class="padding">
                <button class="button button-block button-royal" type="submit">Send</button>
            </div>
        </div>

    </div>
</form>

Usually, you use Angular to bind inputs to models, and you have access to those models from within your controller:

<div>
    <form name="myForm" ng-submit="vm.doMessage()">
        <input type="text" ng-model="formData.name" />
        <input type="date" ng-model="formData.date" />
        <input type="submit" value="Submit" />
    </form>
</div>

and controller:

function msgs() {
    console.log('Loading MessagesCtrl!');

    var vm = this;

    vm.doMessage = function() {

        if (vm.myForm.$valid) {
            var name = vm.formData.name;
            var date = vm.formData.date;
        }
    }
};

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM