【问题标题】:Set form attributes on angular.ready function在 angular.ready 函数上设置表单属性
【发布时间】:2015-01-09 12:28:18
【问题描述】:

我的模态(角度 ui)中有一个表单。我需要从我的控制器设置表单的属性。

我的主页控制器:

var iframeModal = $modal.open({
     templateUrl: 'immdModal.html',
     controller: 'immdController',
     scope: $scope
});
iframeModal.result.then(function(selectedItem) {
  $scope.selected = selectedItem;
 }, function() {
});

我有:

<div id="immdPwdResetFrame">
    <form id="myForm"></form>
    <iframe name="hidden_form_for_iframe"></iframe>
</div>
<script>
    $(document).ready(function() {
        document.forms["myForm"].submit();
    });
</script>

在我的模态 HTML(immdModal.HTML) 中,我有

angular.element(document).ready(function() {
    var form = document.getElementById("myForm");
    form.setAttribute("method", "post");
});

在我的 immdController 控制器中。但我在控制台中收到错误:表单未定义。 如何从控制器设置表单的属性?

【问题讨论】:

  • 对不起,我应该提供:form.setAttribute("method", "post");
  • 你在哪里声明你的角度控制器?我在 html 或 javascript 上都没有看到...为什么还要为一个事件使用 jquery 就绪事件,而为另一个事件使用 Angular 就绪事件。您的表单标签由于某种原因会自动关闭并有一个结束标签,为什么?你有没有问完你的问题,最后有一个随机的“in my”?
  • 我非常抱歉,错误。这就是我的模态的 html 和控制器。
  • 你为什么要使用 jQuery 而不是 angular?方法都是错误的
  • 控制器是角度中一个非常特殊的术语...您需要使用ng-controller 和app.controller 才能说您正在使用控制器

标签: javascript jquery html angularjs angular-ui


【解决方案1】:

免责声明:试图为问题的情况提供一个 hacky 解决方法,这看起来很奇怪:如何在表单上设置属性。这个解决方案正是使用 angular 实现的。

您总是可以为您的表单定义一个指令来执行 DOM 操作,例如:

var app = angular.module('myapp', []);

// Given that the myapp is properly referenced in the HTML (i.e. <html ng-app="myapp">) 
// this will execute on any element with an attribute named 'immd-modal-form'
app.directive("immdModalForm",function(){

  return {
    restrict: 'A',
    link: function(scope, element, attrs) {

      element.attr("method", "post");

    }
  };
});

然后

<form immd-modal-form></form>

以这种方式将 angular.ready() / $(document).ready() 用于模态表单会带来麻烦。这些事件在页面的初始加载时使用,而不是用于模式初始化。

我相信在表单上调用“submit()”可能会将您踢出页面(重定向)。你的问题有很多问题。你真的需要告诉我们你想要达到的目标。我确信有一种更简单的方法可以完成所有这些操作!

【讨论】:

    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多