如何在 Post 中禁用输入
How can I get disabled inputs in Post
我正在使用 Google 地址自动填充来填充表单上一些禁用的输入。这个想法是
- 用户可以看到我要保存的数据(因为并不是Google返回的每个字段都保存了)。
- 而且他们不能干涉它并给出一组无效的不匹配字段。
因为输入 已禁用 ,提交表单时我无法在 $POST 中看到它们。我可以将每个字段镜像到一个隐藏但启用的输入上。有更简洁的方法吗?
您可以使用 javascript 收集它们并将它们添加到下一个表单的 url 并将其附加到按钮。
您可以在提交表单时通过 javascript 启用它们。为您的表单提供一个 ID,我在下面将其称为 formId,然后在结束 </body>
标签
之前添加以下内容
<script>
var form = document.getElementById('formId').addEventListener('submit', function(e) {
e.preventDefault();
var inputs = document.getElementsByTagName('input');
for (var i = 0; i<inputs.length;i++) {
inputs[i].setAttribute('disabled',false);
}
this.submit();
for (var i = 0; i<inputs.length;i++) {
inputs[i].setAttribute('disabled','disabled');
}
});
</script>
我正在使用 Google 地址自动填充来填充表单上一些禁用的输入。这个想法是
- 用户可以看到我要保存的数据(因为并不是Google返回的每个字段都保存了)。
- 而且他们不能干涉它并给出一组无效的不匹配字段。
因为输入 已禁用 ,提交表单时我无法在 $POST 中看到它们。我可以将每个字段镜像到一个隐藏但启用的输入上。有更简洁的方法吗?
您可以使用 javascript 收集它们并将它们添加到下一个表单的 url 并将其附加到按钮。
您可以在提交表单时通过 javascript 启用它们。为您的表单提供一个 ID,我在下面将其称为 formId,然后在结束 </body>
标签
<script>
var form = document.getElementById('formId').addEventListener('submit', function(e) {
e.preventDefault();
var inputs = document.getElementsByTagName('input');
for (var i = 0; i<inputs.length;i++) {
inputs[i].setAttribute('disabled',false);
}
this.submit();
for (var i = 0; i<inputs.length;i++) {
inputs[i].setAttribute('disabled','disabled');
}
});
</script>