gpt4 book ai didi

javascript - 我正在尝试使用文本框和下拉菜单在 HTML 代码中进行验证

转载 作者:行者123 更新时间:2023-12-03 06:06:52 25 4
gpt4 key购买 nike

我目前正在尝试解决的代码是我有一个下拉框,它是必需的下拉菜单。如果从该下拉框中选择“完成”,则会出现一个文本框。如果从该下拉框中选择“放弃”,则会出现第二个下拉框,其中包含其他选项。

在选择第一个下拉列表后,我尝试向第二个选项添加验证。在我的代码中,我将第一个下拉框“ActionDD”标记为必填字段。但我不能使用文本框“REMtextBox”或“ReasonDD”下拉框来做到这一点,因为它们永远不会同时出现。

这是我的表单的代码

<form name=StudentForm action="javascript:window.close();">   
<div class="DDbox">
<select name="Action" id="ActionDD" required onchange="showHide()">
<option value="">Action:</option>
<option value="complete">Complete</option>
<option value="abandon">Abandon</option>
<option value="transfer">Transfer</option>
</select>
</div>
<br>
<div class="COMPLETEbox" id="COMPLETEbox" >
<input class="hidden-items" type="text" name="RemNUM" id="REMtextBox" placeholder="Remedy Number" min="1" maxlength="10" style="display:none;"/><br>

<select class="hidden-items" name="Reason" id="ReasonDD" style="display:none;">
<option value="">Reason:</option>
<option value="NoShow">No Show</option>
<option value="Unfixable">Unfixable</option>
<option value="other">Other</option>
</select><br><br>
<br>
<input type="submit" value="submit" onclick="checkform();">
</div>
</form>

下面是我一直在为 JavaScript 编写的代码,用于在按下“提交”按钮时检查条件。

 function checkform() {
if (document.getElementById('ActionDD').value ="abandon" && (document.getElementById('ReasonDD').value =""))
{
validationMessage = validationMessage + 'Enter Reason';
valid = false;
}
else valid = true;
}
</script>

我正在寻找一种解决方案,如何检查第一个下拉列表是否选择了值,然后从第一个下拉列表中所做的选择中出现的任何相应文本框或下拉列表都选择了值。

预先感谢您的帮助。

最佳答案

尝试下面的代码。想法是在 ActionDD 下拉列表的 onchange 期间设置/删除“required”属性。希望对您有所帮助。

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>HTML code with text-boxes and drop-downs</title>

<script type="text/javascript">

var actionBox,
reasonBox,
completeBox,
remTextBox,
selectedAction,
isFormValid,
validationMessage = "Not all required fields are filled in; ";

function init() {
actionBox = document.getElementById('ActionDD');
reasonBox = document.getElementById('ReasonDD');
completeBox = document.getElementById('COMPLETEbox');
remTextBox = document.getElementById('REMtextBox');
selectedAction = actionBox.value;

remTextBox.style.display = 'none';
remTextBox.removeAttribute("required");

reasonBox.style.display = 'none';
reasonBox.removeAttribute("required");

isFormValid = false;
}

function checkform() {
// Include other logic if needed here...
}

function showHide() {
init();

if (selectedAction == 'complete') {
remTextBox.style.display = 'block';
remTextBox.setAttribute("required", "required");
}
else if (selectedAction == 'abandon') {
reasonBox.style.display = 'block';
reasonBox.setAttribute("required", "required");
}
}
</script>

<style>
</style>
</head>
<body>
<form name="StudentForm">
<div class="DDbox">
<select name="Action" id="ActionDD" required onchange="showHide()">
<option value="">Action:</option>
<option value="complete">Complete</option>
<option value="abandon">Abandon</option>
<option value="transfer">Transfer</option>
</select>
</div>
<br>
<div class="COMPLETEbox" id="COMPLETEbox">
<input class="hidden-items" type="text" name="RemNUM" id="REMtextBox" placeholder="Remedy Number" min="1" maxlength="10" style="display:none;" /><br>

<select class="hidden-items" name="Reason" id="ReasonDD" style="display:none;">
<option value="">Reason:</option>
<option value="NoShow">No Show</option>
<option value="Unfixable">Unfixable</option>
<option value="other">Other</option>
</select>
<br>
<br>
<br>
<input type="submit" value="submit" onclick="checkform();">
</div>
</form>
</body>
</html>

关于javascript - 我正在尝试使用文本框和下拉菜单在 HTML 代码中进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com