由于我被阻止的 div 需要输入,因此无法提交表单
Can´t submit form because of required inputs of my blocked div
我需要提交表格,但我的已屏蔽 div 中的一些输入是必需的。
当我点击 "No" 然后提交时无法提交,我认为这是由于我的 "div1".
需要输入
当 "div1" 被阻止时,我应该如何删除所需的输入?
这是我的代码:
<!DOCTYPE html>
<html>
<body>
<script>
function show2(){
document.getElementById('div1').style.display = 'block';
}
function show1(){
document.getElementById('div1').style.display = 'none';
}
</script>
<form action="/action_page.php">
<input type="radio" name="C" value="Yes" onclick="show2();" required> Yes <br>
<input type="radio" name="C" value="No" onclick="show1();" required> No <br>
<div id="div1" class="div1" style="display:none;">
<hr>
<h4>Div1</h4>
<input type="radio" name="V" value="Yes" required> Yes <br>
<input type="radio" name="V" value="No" required> No <br>
</div>
<input type="submit">
</form>
</body>
</html>
您是否希望动态设置输入字段的必需状态?
希望这种方法有效。
- 将选项输入字段(id div1 下的字段)声明为非必填字段。
- 在单选按钮更改时,动态更新输入字段的有效性。
<form action="/action_page.php">
<input type="radio" name="C" value="Yes" onclick="show2();" required> Yes <br>
<input type="radio" name="C" value="No" onclick="show1();" required> No <br>
<div id="div1" class="div1" style="display:none;">
<hr>
<h4>Div1</h4>
<input type="radio" name="V" value="Yes"> Yes <br>
<input type="radio" name="V" value="No"> No <br>
</div>
<input type="submit">
</form>
<script>
function show2() {
document.getElementById('div1').style.display = 'block';
setFiledValidity(true);
}
function show1() {
document.getElementById('div1').style.display = 'none';
setFiledValidity(false);
}
function setFiledValidity(validityStatus) {
const inputs = document.getElementById('div1').getElementsByTagName('input');
for (let index = 0; index < inputs.length; index++) {
// Setting validity
inputs[index].required = validityStatus;
}
}
// Initializing
setFiledValidity(false);
</script>
希望这是您正在寻找的解决方案。
我需要提交表格,但我的已屏蔽 div 中的一些输入是必需的。
当我点击 "No" 然后提交时无法提交,我认为这是由于我的 "div1".
需要输入当 "div1" 被阻止时,我应该如何删除所需的输入?
这是我的代码:
<!DOCTYPE html>
<html>
<body>
<script>
function show2(){
document.getElementById('div1').style.display = 'block';
}
function show1(){
document.getElementById('div1').style.display = 'none';
}
</script>
<form action="/action_page.php">
<input type="radio" name="C" value="Yes" onclick="show2();" required> Yes <br>
<input type="radio" name="C" value="No" onclick="show1();" required> No <br>
<div id="div1" class="div1" style="display:none;">
<hr>
<h4>Div1</h4>
<input type="radio" name="V" value="Yes" required> Yes <br>
<input type="radio" name="V" value="No" required> No <br>
</div>
<input type="submit">
</form>
</body>
</html>
您是否希望动态设置输入字段的必需状态?
希望这种方法有效。
- 将选项输入字段(id div1 下的字段)声明为非必填字段。
- 在单选按钮更改时,动态更新输入字段的有效性。
<form action="/action_page.php">
<input type="radio" name="C" value="Yes" onclick="show2();" required> Yes <br>
<input type="radio" name="C" value="No" onclick="show1();" required> No <br>
<div id="div1" class="div1" style="display:none;">
<hr>
<h4>Div1</h4>
<input type="radio" name="V" value="Yes"> Yes <br>
<input type="radio" name="V" value="No"> No <br>
</div>
<input type="submit">
</form>
<script>
function show2() {
document.getElementById('div1').style.display = 'block';
setFiledValidity(true);
}
function show1() {
document.getElementById('div1').style.display = 'none';
setFiledValidity(false);
}
function setFiledValidity(validityStatus) {
const inputs = document.getElementById('div1').getElementsByTagName('input');
for (let index = 0; index < inputs.length; index++) {
// Setting validity
inputs[index].required = validityStatus;
}
}
// Initializing
setFiledValidity(false);
</script>
希望这是您正在寻找的解决方案。