我需要使用javascript,这样当选择一个单选按钮时没有任何反应,但如果另一个是(例如,其他地址),它将验证以下字段;
街道 suberb 邮政编码
虽然我发布了这个,但它可能是一个类似的方法,但是当我有一个复选框和一个文本框时,我怎么能这样做,以便只有选中复选框才能使文本框保持为空...
谢谢大家!!!!如果需要,可以询问更多细节,我在解释事情时非常糟糕!
答案 0 :(得分:1)
/ *检查员工详细信息页面中的无线电验证* /
function editPage()
{
var select=document.frmEmployeeDetails.radSelect;
if (radioValidate(select,"Select an Employee"))
{
window.open("EditEmployee`enter code here`.html","_self");
}
return false;
}
希望这个例子可以帮助你的朋友。
答案 1 :(得分:0)
由于他们点击它时会检查单选按钮,你可以将onClick事件添加到其中一个单选按钮而不是另一个。
<input type='radio' id='test' name='test-1' />
<input type='radio' id='test' name='test-2'onClick='Validate();'/>
对于复选框,当用户选中该框时,您应将焦点设置为文本输入字段。这样,如果用户离开该字段(onBlur),您可以给他们一个错误/警告来填写文本。
<input type='checkbox' id='testChkbx' name='testChkbx' onClick=' /*Set the focus to the text box*/'/>
<input type='text' id='testText' name='testText' onBlur='/* Check to make sure the value of the checkbox is not empty. */'/>
答案 2 :(得分:0)
我假设您可能正在使用jQuery,因为您没有说。如果没有,那么你仍然可以采用这些概念并将它们移植到普通的旧javascript或你正在使用的任何东西。
<form id="address-form">
<input type="radio" name="validate" id="validate_address" value="yes"> Validate<br>
<input type="radio" name="validate" value="no"> Don't Validate<br>
Street <input name="street"><br>
Suberb <input name="suberb"><br>
Postcode <input name="postcode"><br>
<input type="submit">
</form>
在页面的某个位置<script>
标记或您包含的javascript文件中,创建一个提交事件,在执行验证之前检查无线电输入的值。
$('#address-form').submit(function(event) {
if ($('input[name=validate]:checked').val() === 'yes') {
if (!formValid()) {
event.preventDefault(); // Don't submit the form
}
}
});
// Perform validations
function formValid() {
if ($('input[name=street]').val().length == 0) {
// tell them ...
return false;
}
if ($('input[name=suberb]').val().length == 0) {
// tell them ...
return false;
}
if ($('input[name=postcode]').val().length == 0) {
// tell them ...
return false;
}
return true;
}
应该这样做!
我创建了一个jsfiddle,你可以根据需要进一步搞砸 - http://jsfiddle.net/nilbus/JNnuX/2/
这与使用复选框非常相似。而不是这个
if ($('input[name=validate]:checked').val() === 'yes') {
只需检查您的复选框是否已选中。
if ($('input[name=validate]').attr('checked')) {