Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;加上「;按钮不在';t显示在我的html任务表单中_Javascript_Html - Fatal编程技术网

Javascript &引用;加上「;按钮不在';t显示在我的html任务表单中

Javascript &引用;加上「;按钮不在';t显示在我的html任务表单中,javascript,html,Javascript,Html,我正面临一个问题,这与我的代码出现故障有关。 我必须在html表单中填写4个输入字段,以便在同一任务表单中的html表中添加产品。我在代码中定义了仅当4个输入字段全部填写时才显示“添加”按钮 我的问题是,尽管我已经填写了所有这些字段,但由于某些原因,这个按钮没有显示出来:困惑:看起来我的javascript不工作。我已经在一个外部js文件中编写了javascript var-product=$scope.product=[];//自定义JavaScript创建一个JavaScript对象,并将

我正面临一个问题,这与我的代码出现故障有关。 我必须在html表单中填写4个输入字段,以便在同一任务表单中的html表中添加产品。我在代码中定义了仅当4个输入字段全部填写时才显示“添加”按钮

我的问题是,尽管我已经填写了所有这些字段,但由于某些原因,这个按钮没有显示出来:困惑:看起来我的javascript不工作。我已经在一个外部js文件中编写了javascript

var-product=$scope.product=[];//自定义JavaScript创建一个JavaScript对象,并将其作为名为“product”的变量绑定到表单的当前AngularJS$范围。
$scope.addProduct=function(){//我们创建了一个名为“addProduct”的函数。
var product={};//我们向数组中添加一个新的“product”。
product.Category=$scope.Category;
product.Description=$scope.Description;
if(!!$scope.camForm.fields[0]。元素[0]。文件[0]){
product.Details=$scope.camForm.fields[0]。元素[0]。文件[0]。名称;//我们检查文件是否已上载。
}否则{
return;//如果文件未上载,则返回“未定义”。
}
product.Price=$scope.Price;
$scope.product.push(product);//我们使用“product”输入字段的值向数组中添加新的“product”。
$scope.Category=“”;//我们清除文本框“ατηγρα”。
$scope.Description=“”;//我们清除文本框“περιγραφή”。
$scope.Details=“”;//我们清除文本框“∧επτομέρειες”。
$scope.Price=“”;//我们清除文本框“thettιμή(€)”。
};
$scope.removeProduct=function(index){//我们创建了一个名为“removeProduct”的函数。
var category=$scope.product[index].category;//我们使用数组中的“index”查找产品的类别,并将其作为名为“category”的变量绑定到表单的当前AngularJS$scope。
$scope.product.splice(index,1);//我们使用索引从数组中删除“product”。
}
$scope.isAddFormValid=function(){//我们创建了一个名为“isAddFormValid”的函数。
返回($scope.Category)&&
$scope.Description&&
$scope.camForm.fields[0]。元素[0]。文件[0]&&
$scope.Price)?true:false;//如果变量“product”的4个参数全部加上,则该值为“true”,否则该值为“false”。
}
on('form-loaded',function(){//我们连接到Camunda SDK JS表单的生命周期中。
camForm.variableManager.createVariable({//我们“创建”(声明)一个新的流程变量
名称:'product',//命名为'product'和
类型:'json',//提供用于序列化的类型信息'json'。
价值:产品
});
});
在('submit',function(evt){//上,我们钩住了Camunda SDK JS表单的生命周期。
如果(产品长度)
Κατηγορία
Περιγραφή
Λεπτομέρειες
Τιμή (€)

Καταχώρησε νέο προϊόν Κατηγορία Περιγραφή Λεπτομέρειες Τιμή (€)
只有在模板绘制时,即在ng show中,并且默认情况下,所有字段都为空,所以您永远看不到添加按钮时,才调用
isAddFormValid

您必须在每个输入的ng change属性中调用
isAddFormValid
函数(添加按钮需要该属性才能显示)

例如:

<input style="width:140px;" id="category" type="text" ng-model="Category" ng-change="isAddFormValid()"/>
<input style="width:600px;" id="description" type="text" ng-model="Description" ng-change="isAddFormValid()"/>


等等。

好的,我稍后会检查它,因为我现在的代码中没有访问权限。但是,你能解释一下,当你说我在ng show中调用此函数时,仅当“模板绘制”时,你是什么意思吗?如果你看一下我的javascript,我已经定义只有当函数返回“true”时才显示此按钮。非常感谢您的反馈。请在isAddFormValid函数中保留一个断点。当加载模板时,该断点只应在该函数中出现一次。然后完成“必需”表单字段,您将注意到它将不再在断点处停止,因为您从未在每次更新每个表单字段后检查表单验证。我正如您在上面的示例中所建议的,还包括了“ng change”指令,但问题仍然存在。尽管我填写了所有4个输入字段,“ng show”指令无法显示“Add”按钮。