【问题标题】:warning "Form submission canceled because the form is not connected" in angular角度警告“表单提交已取消,因为表单未连接”
【发布时间】:2018-03-19 00:15:28
【问题描述】:

html代码:

 <form action="{{url}}"> 
            <input type="submit" class="btn btn-info" ng-
click="goToProdPage()" value="Resume">
           </form>

角度代码:

    $scope.goToProdPage = function(){
    if(id){
        $scope.url = "#/"+id+"/cpq";
    console.log("done   "+id);
    $state.go("cpq");
    } 
}

请忽略 id,因为我只放了一半代码。 我已经使用了 $(document.body).append(form); 它解决了这个问题,但现在添加它之后,它在控制台上显示以下错误

angular.js:14362 ReferenceError: 表单未定义 在 b.$scope.findUser.$scope.goToProdPage (login.js:44) 在 fn(编译时的评估(angular.js:15197),:4:156) 在 e (angular.js:26808) 在 b.$eval (angular.js:18017) 在 b.$apply (angular.js:18117) 在 HTMLInputElement。 (angular.js:26813) 在 dg (angular.js:3617) 在 HTMLInputElement.d (angular.js:3605)

【问题讨论】:

    标签: javascript jquery html forms angular


    【解决方案1】:

    首先从按钮中删除类型提交并将id放入表单中

    <form id="myform" action="{{url}}"> 
       <input type="button" class="btn btn-info" ng-
    click="goToProdPage()" value="Resume">
    </form>
    

    所有处理完成后在函数goToProdPage()中使用jquery触发表单提交

    $scope.goToProdPage = function(){
        if(id){
           $scope.url = "#/"+id+"/cpq";
           console.log("done   "+id);
           $state.go("cpq");
           $('#myform').submit();
        }
    } 
    

    【讨论】:

    【解决方案2】:

    不是 100% 确定您要在这里做什么。但我的意见是,您应该使用更多的 Angular 方式来处理表单...

    <form ng-submit="mySubmit()">
        <input type="submit" value="Send form">
    </form>
    

    现在您可以在控制器中编写一个函数来处理表单的提交。

    this.mySubmit = mySubmit;
    
    function mySubmit() {
        // Check here if the url exists
        // ...or what to do when submitting the form...
        // this.goToProdPage();
    }
    

    更详细的示例或额外信息可以帮助我更好地理解问题:-)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 2018-02-15
    • 1970-01-01
    相关资源
    最近更新 更多