【发布时间】:2015-05-21 20:56:20
【问题描述】:
我是编程新手,所以请放轻松!我在这里有一个动态表单,您填写的字段会根据开头的下拉菜单而变化。某些后续问题是必需的并且必须填写,但其他问题则不需要(并且必须保持不需要)。我浏览了下面的代码,向您展示了我需要哪些字段,哪些不需要。它会很好地工作,除非您考虑动态部分(块/无),表单隐藏部分的必填字段会阻止它被提交。任何帮助将不胜感激,谢谢!
<!DOCTYPE html>
<html>
<body>
<script type='text/javascript'>
function showForm() {
var selopt = document.getElementById('opts').value;
if (selopt == 1) {
document.getElementById('f1').style.display = 'block';
document.getElementById('f2').style.display = 'none';
document.getElementById('f3').style.display = 'none';
document.getElementById('f4').style.display = 'none';
}
if (selopt == 2) {
document.getElementById('f1').style.display = 'none';
document.getElementById('f2').style.display = 'block';
document.getElementById('f3').style.display = 'none';
document.getElementById('f4').style.display = 'none';
}
if (selopt == 3) {
document.getElementById('f1').style.display = 'none';
document.getElementById('f2').style.display = 'none';
document.getElementById('f3').style.display = 'block';
document.getElementById('f4').style.display = 'none';
}
if (selopt == 4) {
document.getElementById('f1').style.display = 'none';
document.getElementById('f2').style.display = 'none';
document.getElementById('f3').style.display = 'none';
document.getElementById('f4').style.display = 'block';
}
if (selopt == '') {
document.getElementById('f1').style.display = 'none';
document.getElementById('f2').style.display = 'none';
document.getElementById('f3').style.display = 'none';
document.getElementById('f4').style.display = 'none';
}
}
</script>
<?php
if(!isset($_POST['tripid1'])){
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="entryform">
<select id='opts' onchange='showForm()' required='required'>
<option value=''>Select Option</option>
<option value='1'>Species Verification Program / ID</option>
<option value='2'>Incidental Take Samples</option>
<option value='3'>Age Structures</option>
<option value='4'>Special Projects</option>
</select>
<br><br>
<div id='f1' style='display:none'>
Which haul is this sample from? <input type='text' name='tripid1' size='6' required='required'>
Which species is this sample? <input type='text' name='tripid2' size='6' required='required'>
Additional comments optional: <input type='text' name='tripid3' size='6'>
</div>
<div id='f2' style='display:none'>
What species is this? <input type='text' name='tripid1' size='6' required='required'>
What is the tag number? <input type='text' name='tripid2' size='6' required='required'>
Additional comments optional: <input type='text' name='tripid3' size='6'>
</div>
<div id='f3' style='display:none'>
What species? <input type='text' name='tripid1' size='6' required='required'>
Age sample type? <input type='text' name='tripid2' size='6' required='required'>
Additional comments are required: <input type='text' name='tripid3' size='6' required='required'>
</div>
<div id='f4' style='display:none'>
What species is this? <input type='text' name='tripid1' size='6' required='required'>
What is the program? <input type='text' name='tripid2' size='6' required='required'>
Additional comments optional: <input type='text' name='tripid3' size='6'>
</div>
<input type = "submit" value= "SUBMIT FORM" />
</form>
<?php
}
if(isset($_POST['tripid1'])){
echo "Yay, the form submitted!";
}
?>
</body>
</html>
【问题讨论】:
标签: javascript html forms hidden require