在用户任务中,嵌入式表单标记为
...
<div class="form-group">
<textarea class="form-control"
cam-variable-name="jobDescription"
cam-variable-type="String"
name="jobDescription">
</textarea>
</div>
...
已设置了一个过程变量jobDescription
-已通过Tomcat日志进行了验证。
问题在于textarea
的内容未设置为过程变量的内容。
正在使用Camunda 7.10,我已经检查了Camunda manual 7.10
如果将textarea
更改为input type="text"
,则显示正确的内容。
答案 0 :(得分:0)
这适用于Camunda 7.10。
要填充textarea
,该表单需要使用Camunda表单事件
<script cam-script type="text/form-script">
var variableManager = camForm.variableManager;
var jobRequestInfo = $scope.jobRequestInfo = {};
var jobDescription = $scope.jobDescription = {};
camForm.on( 'form-loaded', function() {
camForm.variableManager.fetchVariable( 'jobRequestInfo' );
camForm.variableManager.fetchVariable( 'jobDescription' );
});
camForm.on( 'variables-fetched', function() {
$scope.jobRequestInfo = camForm.variableManager.variable( 'jobRequestInfo' ).value;
$scope.jobDescription = camForm.variableManager.variable( 'jobDescription' ).value;
});
camForm.on( 'variables-applied', function() {
$( '[name="jobDescription"]' ).val( $scope.jobDescription );
});
camForm.on( 'submit', function( ev ) {
;
});
</script>
...
<div class="form-group">
<label for="jobDescription">Job Description</label>
<textarea class="form-control"
ng-model="jobRequestInfo.description"
name="jobDescription"
rows="20">
</textarea>
</div>
...
有两个过程范围的变量:
jobDescription
和String
,其中填充了初始值。jobRequestInfo
一个POJO,其中包含字段description
,该字段填充有最终的已编辑值。请注意,Camunda并不完全支持诸如单选按钮之类的所有HTML类型,因此,除了基本表单之外,通常还需要使用Camunda表单事件。
同样,如上所述,使用Angular积分和POJO变量可以显着减少过程变量。