我的表单中有一堆地址字段(街道,城市,国家,省,邮政编码),需要一遍又一遍地填写。为了方便用户,我添加了一个“复制自”选择器,他们可以在这里选择他们以前使用过的地址。执行此操作时,表单字段将自动填充,然后禁用。通过这种方式,他们可以清楚地看到他们将要提交的内容。
问题是,如果字段被禁用,W3 says将不会提交输入。那没关系,因为我可以从选择器中获取所需的所有数据,但现在表单未通过验证。
我认为我有两个选择:
clean_
方法,以确保当您不知道他们 时已填写 不要使用预设选择器。此外,我在整个网站使用地址表单,在某些地方他们确实是必需的,所以我不想让字段可选。虽然,我想我可以复制粘贴地址表格并为此页面制作一个特例。思考?我应该采取什么方法?
答案 0 :(得分:1)
有几点想法。他们可能会给你一些想法。
答案 1 :(得分:0)
我一直面临类似的问题,其中字段是必需的,但它们的值是从另一种形式获取的。我决定做的是:
这是我的解决方案: 带有表单的HTML文件
<head>
<script src='file1.js'></script>
</head>
<body>
<form method='post'>
<input class='RequiredNoManual'>
<input type='submit'>
</form>
</body>
</html>
JS FILE
window.addEventListener('load', configureNoManualInputFields);
function configureNoManualInputFields()
{
var elements = document.getElementsByClassName('RequiredNoManual');
for(var i =0; i<elements.length; i++)
{
elements[i].oncut = function(){event.preventDefault();};
elements[i].oncopy = function(){event.preventDefault();};
elements[i].onkeydown = function(){event.preventDefault();};
elements[i].onkeypress = function(){event.preventDefault();};
elements[i].setAttribute('required', 'required');
}
}