在Angular中获取表单的名称(this.form.name)

时间:2015-12-01 15:18:38

标签: javascript html angularjs forms angularjs-ng-form

有一个简单的表格

<ng-form name="foo">
    <button />
</ng-form>

点击按钮会提醒表单名称 foo

是否有角度方法可以做到这一点?

编辑:告诉我,我父母的名字是一个可能的解决方案。

3 个答案:

答案 0 :(得分:0)

您应该可以在$scope上访问它:

$scope.foo

答案 1 :(得分:0)

ng-click需要Angular expression或当前范围内的函数。看起来Angular不允许您使用全局范围方法。

  

Angular使用$parse服务来评估表达式   ng-click="expression"

$parse使用字符串解析来解释expression,它将对变量,函数和对象的访问限制为$scope对象的属性或任何属性的访问权限。 $parent范围对象。

试试Template&amp; Controller

  

<强>模板

ng-click="alert(foo.$name)"  <!-- foo ~ MY_FORM_NAME in your case -->
     

<强>控制器

$scope.alert = function(formName){
  alert(formName);
}

这将正确执行JavaScript alert()

有关详细信息,请参阅AngularJS/ngClick

希望它有所帮助!

答案 2 :(得分:0)

假设按钮具有直接父级的形式,您可以利用char name [50]; int i, sum = 0; scanf("%s", name); for (i=0; i < strlen(name); ++i) sum += toupper(name[i]) - 'A' + 1; 上的 <?php $artist = $_POST['artist']; $songname = $_POST['songname']; $artist = preg_replace('/\s+/', '', $artist); $songname = preg_replace('/\s+/', '', $songname); $artist=strtolower($artist); $songname=strtolower($songname); echo $artist; echo $songname; $output = shell_exec("/Users/ianterry/Desktop/CussCalc2/java CussCalc '$artist' '$songname'"); $output = shell_exec("/usr/bin/java -version"); echo $output; ?> 属性遍历DOM并找到父表单元素。这使用<script type="text/javascript"> if (typeof dataLayer !== "undefined") { dataLayer.push({ 'event': 'MyEvent', 'eventCallback' : function() { window.location = 'http://stackoverflow.com/questions/26802554/gtm-data-layer-eventcallback-function'; } }); } </script> <noscript> <meta http-equiv="refresh" content="0;url=http://stackoverflow.com/questions/26802554/gtm-data-layer-eventcallback-function" /> </noscript>

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

myApp.directive('passObject', function() {
return {
    restrict: 'AE',
    scope: { obj: '&obj' },

    template: '<div>Hello, {{obj()}}!</div>'
};
});

 myApp.controller('MyCtrl', function ($scope) {

$scope.obj = { func1: $scope.function1 };

$scope.function1 = function() {
    return "world!";
};
});

<div ng-app="myApp">
 <div ng-controller="MyCtrl">
     <pass-object obj="function1()"></pass-object>
 </div>
$event

http://plnkr.co/edit/yDPc76rqUHpOcL2aGeIU?p=preview

如果按钮不是表单元素的直接后代,或者不在表单本身内,则可能需要更高级的DOM遍历,最有可能通过JQuery,因为这不是设计目标的一部分。角度框架。