我试图将JavaScript用于pdf表单内的控制机制。有很多字段,复选框等。其中一些是必填字段,而某些则不需要,某些仅在选中某个复选框时才显示。
我现在的问题是:一些必填字段是下拉菜单或选项字段,当我单击按钮时,javascript不会显示它们“丢失”。如果我删除了(f.value.length<1))
部分,它将显示所有必填字段,但无法识别填充的字段,例如带有下拉元素,文本或类似字词,原因是缺少条件。
我需要一个代码来查找所有必填字段,并查看它们是否为空或是否填充有任何内容,以及一种排除某些字段的方法,导致某些字段仅在激活某个复选框后才可见,或者一种仅在以下情况下才包括这些字段的方法:特定框已激活。
谢谢!
kontrollieren();
function kontrollieren() {
var feld;
feld = ""
for (var i = 0; i < this.numFields; i++) {
var fName = this.getNthFieldName(i);
var f = this.getField(fName);
if ((f.type != "button") && f.required && (f.value.length < 1)) {
feld = feld + fName + "\n";
}
}
if (feld == ""){
app.doc.print();
}
else {
app.alert("Bitte füllen sie vor dem Drucken alle Pflichtfelder aus.\nFehlende Felder:\n\n" + feld);
}
}
答案 0 :(得分:0)
所有输入都应有一个name
和一个value
字段。您可能需要以这种方式识别输入(并因此采用验证方法)。
在诸如此类的情况下,其中有多个输入,并且有多个条件决定required
是什么,请尝试捕获false
。我会雇用与此类似的东西:
for (var i = 0; i < this.numFields; i++) {
var fName = this.getNthFieldName(i);
var f = this.getField(fName);
if ((f.type != "button") && f.required) {
// For a Select Input
if (f.name === 'selectInputName') {
// Or whatever the 'default' value is that represents not selecting a value
if (f.value !== 'Select One') {
feld = feld + fName + '\n';
}
}
// For a checkbox
if (f.name === 'checkboxInputName' && f.checked) {
feld = feld + fName + '\n';
}
// For an input
if (f.name === 'textInputName' && f.length.value > 0) {
feld = feld + fName + '\n';
}
}
}
我不是100%知道您的结构如何工作-getNthFieldName()
和&getField()
是我不熟悉的两个功能,但希望上面的想法仍然可以理解。