我正在使用一个复选框,它会在单击复选框时显示/隐藏字段。只有当我点击复选框并显示字段时,我才想让我的字段输入信息。隐藏字段并且未单击复选框时,则不需要这些字段来输入信息。我该如何实现这一目标。这是我正在使用的代码;
<script type="text/javascript" language="JavaScript">
function HidePart(d) {
document.getElementById(d).style.display = "none";
}
function ShowPart(d) {
document.getElementById(d).style.display = "block";
}
function CheckboxChecked(b,d)
{
if(b) {
ShowPart(d);
}
else {
HidePart(d);
}
}
</script>
<input type="checkbox" name="Loan2" value="yes" onclick="CheckboxChecked(this.checked,'checkboxdiv2')"> Add New Loan
<div id="checkboxdiv2" style="display:none">
Form Fields for input information
</div>
如果这有帮助,这是我的网站:https://www.slfpusa.org/testing-page/。当我点击“添加新贷款”时,它会生成更多我希望在显示后才需要的字段。我希望我的问题很明确,我希望能够帮助我调整这个javascript代码,使其能够运行我需要的功能。任何帮助将不胜感激!
答案 0 :(得分:0)
将表单验证代码放入额外的if
语句中。尝试这样的事情:
if (document.loan2.checked) {
// validate the input
} else {
return false;
}
答案 1 :(得分:0)
我试图让你尽可能清楚。只需阅读评论,一切都应该好。
<html>
<head>
<!--Add this JQuery library to make this a whole lot easier for you-->
<!--This library provides a more effecient way of writing javascript-->
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
</head>
<body>
<form>
<input id ="checkboxId" type ="checkbox">Add new Loan</input><br>
<label style="display:none">Enter value:</label>
<input id="textboxId" style="display:none" type ="text"/>
<button style="display:none" type ="submit">Click Me</button>
</form>
<script>
//In between your script tags add the following JQuery code
//This will check if the check box is clicked
$('#checkboxId').click(function () {
//if checkbox is clicked then make the textbox required
if ($('#checkboxId').prop('checked'))
{
$("#textboxId").prop('required',true);
$("#textboxId").slideDown();
$("label").slideDown();
$("button").slideDown();
} else {
//else do not make the textbox required
$("#textboxId").prop('required',false);
$("#textboxId").slideUp();
$("label").slideUp();
$("button").slideUp();
}
});
</script>
</body>
</html>
如果您有任何疑问,请与我们联系。希望这会有所帮助