gpt4 book ai didi

javascript - 选择单选按钮时必须输入文本框

转载 作者:行者123 更新时间:2023-12-03 03:56:04 26 4
gpt4 key购买 nike

我有一个 View ,其中添加到电子有 2 个单选按钮是和否。还有一个提交按钮。当单击"is"单选按钮时。数量文本框不应为空。但如果没有单击单选按钮,它可以为空。当单击“提交”按钮并选择"is"单选按钮时,此功能应该起作用。

 <HTML>
<head>
radio
</head>
<body>
<form id=radio>
Add to electronic <input type="radio" name="yes"onclick="validate(_this)"id="yes"/>Yes<input type="radio" name="yes" id="no" />No<br />
<label>Quantity</label><input type="text"size="25"name="dir"id="dir" required/>
<button type=submit name=insert>insert</button>
</body>
<div>
<script src="~/Scripts/radiobuttonvalidation.js"></script>
</div>
</html>

我是 mvc 和 javascript 新手。请帮助我使用 javascript 代码,以及我应该如何将其与我的 View 链接起来。 JavaScript:

function validate(_this) {
if ($(_this).attr('id') == "yes") {
$('#dir').attr('required');
alert("Text Box required");
}
else {
$('#dir').removeAttr('required');
alert("Text Box not required");
}
}

最佳答案

您有几个问题

  • 不要通过_this它不是一个有效的变量
  • 您只测试一个 radio - 因此“否”永远不会删除所需的 radio
  • 您的 HTML 无效 - 您需要关闭表单并且没有除 </html> 之外的任何 html </body>之后
  • 如果您希望输入内容为空(如果两者均未选中),则必须删除必需的内容

这是一个有效且不引人注目的版本。如果您决定使用 jQuery,您就没有理由使用内联事件处理程序

$(function() {
$("[name='yes']").on("click", function() {
if (this.id == "yes") {
$('#dir').attr('required', true);
console.log("Text Box required");
} else {
$('#dir').removeAttr('required');
console.log("Text Box not required");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<form id=radio>
Add to electronic <input type="radio" name="yes" id="yes" />Yes<input type="radio" name="yes" id="no" />No<br />
<label>Quantity</label><input type="text" size="25" name="dir" id="dir" />
<button type=submit name=insert>insert</button>
</form>

RobG 和我建议使用复选框,我会将数量隐藏到:

function validate() {
var $check = $("#addToElectronic"), checked = $check.is(":checked");
$("#quant").toggle(checked);
$('#dir').attr('required', checked);
}
$(function() {
$("#addToElectronic").on("click",validate);
validate();
});
#quant { display:none }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<form id=radio>
Add to electronic <input type="checkbox" id="addToElectronic" value="yes" />Yes<br/>
<div id="quant">
<label>Quantity</label><input type="text" size="25" name="dir" id="dir" />
</div>
<button type=submit name=insert>insert</button>
</form>

关于javascript - 选择单选按钮时必须输入文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44941140/

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