我创建了一个 JavaScript 函数,它允许我验证一个字段或另一个字段是否已填充(令人震惊的是,它被称为 oneortheother
)。本质上,它检查是否两者都未填充,或两者都填充,然后抛出错误。
正在验证的字段之一是input type="file"
字段。我在字段下方显示现有文件,以便用户可以查看这是否是他们想要的文件。
有没有办法在 input type="file"
中没有值的情况下仍然通过 oneortheother
进行验证?有什么 JavaScript 技巧吗?
我现在束手无策,今天晚些时候有一个需要此功能的演示,因此我们将不胜感激。
编辑:
根据要求,这里有一些示例:
<label for="pdf">Upload PDF:
<span class="fieldnote">Files of type .pdf</span>
</label>
<input type="file" name="pdf" id="pdf" class="external_form_field oneortheother_url" value="/downloads/white_papers/HigherOrderPerl.pdf" />
<label>Existing file:</label><span class="preview"><a href="/downloads/white_papers/HigherOrderPerl.pdf" target="_blank">HigherOrderPerl.pdf</a></span>
<label for="url">Link to asset:</label>
<input type="text" name="url" id="url" class="external_form_field oneortheother_pdf" value="" size="25" />
请注意,应用了 oneortheother_url
和 oneortheother_pdf
类。这允许验证例程知道要与哪个字段进行比较。对比是:
if (fObj.value && fObj2.value) { }
和
if (!fObj.value && !fObj2.value) { }
最佳答案
不幸的是,我无法理解实际的问题,但这里有一个侧边栏提示:
在这种情况下,XOR 运算符可以派上用场(尽管很晦涩):
if (fObj.value ^ fObj2.value) {
// Only one value is set, we're good
} else {
// Both of them are set or neither of them are set
}
关于php - 验证其中之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/439297/