Get các giá trị input trong form bằng angularjs



  • Hiện tại e mới sử dụng angularjs. Ví dụ e sẽ có 1 form
    <form>
    <input type="text" name="user" value="" />
    <input type="password" name="password" value="" />
    <button type="submit" ng-click="sendRequest()">Submit</button>
    </form>

    Phía angular controller em sẽ đón sự kiện click và giờ e muốn lấy được tất cả các input trong form cùng giá trị của chúng để sử dụng.
    Các bác đã làm qua chỉ em chút với ạ.
    Em cảm ơn!



  • // controller.js
    $scope.form = {};

    $scope.sendRequest = function(data)
    {
    //action
    }

    // html

    Hiện tại e mới sử dụng angularjs. Ví dụ e sẽ có 1 form
    <form>
    <input type="text" name="user" value="" ng-model="form.user"/>
    <input type="password" name="password" value="" ng-model="form.password"/>
    <button type="submit" ng-click="sendRequest(form)">Submit</button>
    </form>

    // neu van chua lam dc add skype cua minh : phuong101899@hotmail.com



  • Bạn @Phuong-Anh ơi mình k thấy được :)
    Mình làm như bạn HD và submit thì thấy trên controller nó báo data nhận được là 1 object thế này
    0_1470274773532_upload-1aa2f1b3-b866-459a-b15c-f496fd8f502d



    1. Nên bỏ type="submit" trong thẻ button vì đang trong context của angularjs
    2. Add ng-model tới các input, sau đó lấy các thông tin trả lại từ server trong hàm sendRequest()


  • @name-no đã nói trong Get các giá trị input trong form bằng angularjs:

    1. Nên bỏ type="submit" trong thẻ button vì đang trong context của angularjs
    2. Add ng-model tới các input, sau đó lấy các thông tin trả lại từ server trong hàm sendRequest()

    Cảm ơn bạn, mình làm được rồi nhá. :)

    • Mình có 1 vấn đề nữa là cái cú pháp viết của thằng angularjs ví dụ thế này
      ng-model="form.user"
      => Nhưng giờ mình muốn cho các tham số động nên dùng:
      ng-model="form.{{param.field}}"

    Viết thế này nó sẽ báo lỗi cú pháp, bạn có các nào viết cho angularjs nó hiểu k chỉ mình với ạ.



  • @Tieu-dang-van: {{param.field}} ở đây là gì thế bạn? không thể khai báo cú pháp {{}} trong các directive của angular. Nếu muốn dynamic data thì có thể update giá trị form.user trong controller thông qua $scope.form.user, angular sẽ tự động binding tới view html.



  • @name-no Tức là mình sẽ lấy các tham số động bạn ạ, input đang trong loop, ý mình hỏi cú pháp viết ấy ạ.
    Giờ mình làm oke rùi bạn ạ, mình viết ng-model="form[param.field]" nó chạy.
    Cảm ơn bạn nhá :).



  • @Tieu-dang-van đã nói trong Get các giá trị input trong form bằng angularjs:

    @name-no đã nói trong Get các giá trị input trong form bằng angularjs:

    1. Nên bỏ type="submit" trong thẻ button vì đang trong context của angularjs
    2. Add ng-model tới các input, sau đó lấy các thông tin trả lại từ server trong hàm sendRequest()

    Cảm ơn bạn, mình làm được rồi nhá. :)

    • Mình có 1 vấn đề nữa là cái cú pháp viết của thằng angularjs ví dụ thế này
      ng-model="form.user"
      => Nhưng giờ mình muốn cho các tham số động nên dùng:
      ng-model="form.{{param.field}}"

    Viết thế này nó sẽ báo lỗi cú pháp, bạn có các nào viết cho angularjs nó hiểu k chỉ mình với ạ.

    đúng rồi bác


Log in to reply