文本字段有值时的Javascript复选框验证
我正在尝试使用下面的代码。基本上,我需要的是在文本字段(dateshipped)不为空且复选框(close)未选中时发出警报。因此,如果两者都为空,则表单可以提交,但如果文本字段有值,且复选框未选中,则警报将显示。警报应具有继续或取消选项文本字段有值时的Javascript复选框验证,javascript,html,checkbox,Javascript,Html,Checkbox,我正在尝试使用下面的代码。基本上,我需要的是在文本字段(dateshipped)不为空且复选框(close)未选中时发出警报。因此,如果两者都为空,则表单可以提交,但如果文本字段有值,且复选框未选中,则警报将显示。警报应具有继续或取消选项 <script> function validate() { var valid = true; var checkbox = document.getElementById('close').value; var text
<script>
function validate() {
var valid = true;
var checkbox = document.getElementById('close').value;
var text = document.getElementById('dateshipped').value;
if(!(checkbox || text))
valid = confirm("Checkbox isn't checked. \n Continue?");
return valid;
}
</script>
函数验证(){
var valid=true;
var checkbox=document.getElementById('close')。值;
var text=document.getElementById('dateshipped')。值;
如果(!(复选框| |文本))
valid=确认(“未选中复选框。\n是否继续?”);
返回有效;
}
我的表格:
<form id="form" name="form" method="post" onsubmit="return validate();">
<input type="checkbox" name="close" id="close" value="Yes"><label for="close" class="css-label-rma" title="Close this">Close this</label>
<input type="text" name="dateshipped" id="dateshipped" class="datefield" /></label>
<input type="submit" value="submit" />
</form>
关上这个
这是jsfiddle:恐怕您有几个问题 1)
onsubmit
是表单事件,而不是按钮
事件。你应该
<form id="form" name="form" method="post" onsubmit="return validate();">
submit
validate
函数中有一些错误。您应该选中复选框。选中
而不是复选框。值
,并且您应该检查文本的字符串长度
函数验证(){
var valid=true;
var checkbox=document.getElementById('close');
var text=document.getElementById('dateshipped')。值;
如果(!checkbox.checked | | text.length)
valid=确认(“复选框和文本为空。\n是否继续?”);
返回有效;
}
var form=document.getElementById('form');
form.onsubmit=函数(e){
如果(!validate()){
e、 preventDefault();//这将停止表单提交。
返回false;
}
警惕('我已提交');
}
关上这个
好的,我做了更正,但表单还是提交了。同样,仅当文本字段有值且复选框未选中时,我才需要获得警报。非常感谢。@Brasciole:看看这个jsfiddler,看看这是否就是你想要的,也就是我想要的。非常感谢你。
document.getElementById('close').checked;