如何访问angular中的隐藏字段?我有一个应用程序,我希望为列表中的每个项目提交一个表单。表单很简单 - 它具有提交按钮和一个隐藏字段来保存ID值。但它不起作用。该值为空。AngularJs中的隐藏字段
我更新了默认的角度示例以显示情况 - 待办事项文本位于隐藏字段中。
http://jsfiddle.net/tomasfejfar/yFrze/
如何访问angular中的隐藏字段?我有一个应用程序,我希望为列表中的每个项目提交一个表单。表单很简单 - 它具有提交按钮和一个隐藏字段来保存ID值。但它不起作用。该值为空。AngularJs中的隐藏字段
我更新了默认的角度示例以显示情况 - 待办事项文本位于隐藏字段中。
http://jsfiddle.net/tomasfejfar/yFrze/
在你的简单拨弄,所述问题可通过使用NG-init或设置在控制器的初始值是固定的。 value
属性不会影响ng模型。
http://jsfiddle.net/andytjoslin/DkMyP/2/
另外,你最初的例子(http://jsfiddle.net/tomasfejfar/yFrze/)对我的作品在其当前状态在Chrome 15/Windows 7的
但是,只有一次。下一次变量是空的。 –
啊,这是因为在todo例子中'todoText'在'addTodo'函数中被设置为空字符串。显然是 –
!哦,废话! :D谢谢! :D –
,如果你想将ng-repeat中的ID传递给您的代码,您不必使用隐藏字段。下面是我所做的:
例如,让我们说我通过电影的集合循环,当你点击“更多”链接,将您的ID传递到您的JS代码:
<ul>
<li ng-repeat="movie in movies">
{{movie.id}} {{movie.title}} <a href="#" ng-click="movieDetails(movie)">read more</a>
</li>
</ul>
然后在你的JS代码中,你可以得到这样的ID:
$scope.movieDetails = function (movie) {
var movieID = movie.id;
}
太棒了!谢谢 –
你可以这样做。
这是一个肮脏的伎俩,但它的工作原理(最喜欢搞鬼;-)
你只需要使用表单名称作为你的隐藏字段
始终把形式ID“形式”
<!doctype html><html ng-app><head>
<script src="angular-1.0.1.min.js"></script>
<script>
function FormController($scope) {
$scope.processForm = function() {alert("processForm() called.");
$scope.formData.bar = "";
try {$scope.formData.bar = document.getElementById("form").name;}
catch(e) {alert(e.message);}
alert("foo="+$scope.formData.foo+ " bar="+$scope.formData.bar);
};
}
</script></head><body>
<div ng-controller="FormController">
<form name="YourHiddenValueHere" id="form">
<input type="text" ng-model="formData.foo" />
<button ng-click="processForm()"> SUBMIT </button>
</form>
</div></body></html>
这使您可以将ALL Controller用于所有表格,并将它们发送至ONE服务器脚本。 脚本比由
窗体名称(formData.foo)区分,并知道该怎么做。
隐藏字段命名此场景中的操作。
瞧 - 你跟为
多种形式你想和一个服务器脚本
和所有的人一个的FormController一个完整的应用程序。
我必须纠正(提高)自己:
你可以做到这一点更优雅:
<form>
<input type="text" ng-model="formData.foo" />
<input type="hidden" id="bar" value="YourHiddenValue" />
<button ng-click="processForm()"> SUBMIT </button>
</form>
,然后在JavaScript控制器:
$scope.formData.bar = "";
try {$scope.formData.bar = document.getElementById("bar").value;}
catch(e) {alert(e.message);}
alert("foo="+$scope.formData.foo+ " bar="+$scope.formData.bar);
因此,您可以拥有尽可能多的隐藏字段。
如果你不想在你的JavaScript文件进行硬编码任何东西,你可以通过AJAX调用它,这样做:
<input type="hidden" name="value" ng-init="model.value=1" value="1">
这种方式,你可以保持与JS的表单功能关闭,仍然使用隐藏域在AngularJS
简单:
<input type="hidden" name="livraisonID" value="{{livraison.id}}"/>
它的工作原理!
请使用NG-绑定= “{{employee.data}}” 这将正常工作##打头##
你能不能让问题的一个简单的例子吗?这里是一个基地的小提琴:http://jsfiddle.net/andytjoslin/DkMyP/ –
当然:http://jsfiddle.net/DkMyP/1/ –