我正在尝试在表单提交之前添加验证。还有一个替代输入字段,我们称之为“可选”,其复选框为“Checkbox1”,“Checkbox2”,“Checkbox3”。当用户从此复选框中选择一个时,他必须填写输入“可选”,如果它是空的,则他无法提交表单并获得一些带有信息的弹出警报以填充此内容。
我有这样的事情:
<script>
function validateForm() {
var x = document.forms["form"]["nrumowy"].value;
if (x == null || x == "") {
alert("Numer umowy musi zostać uzupełniony.");
return false;
}
}
</script>
但是这个输入字段“nrumowy”必须在所有情况下填充,所以一切都好,现在我想添加一些类似的东西,但只有当“Checkbox1”,“Checkbox2”,“Checkbox3”中的一个被选中时。
答案 0 :(得分:3)
以下代码将在填写表单时立即生效。
jquery代码
<script>
function validateForm() {
var x = document.forms["form"]["nrumowy"].value;
if (x == null || x == "") {
alert("Numer umowy musi zostać uzupełniony.");
return false;
}
var op = document.forms["form"]["optional"].value;
if ($("input[type=checkbox]:checked").length === 0 && op==""){
alert("you must fill Optional field");
return false;
}
}
</script>
答案 1 :(得分:2)
如果要添加类似的内容,但仅在选中“Checkbox1”,“Checkbox2”,“Checkbox3”之一时才添加。然后看看以下代码是否对您有帮助。
function validateForm() {
if(document.getElementById("Checkbox1").checked ||
document.getElementById("Checkbox2").checked ||
document.getElementById("Checkbox3").checked ||
{
var x = document.forms["form"]["nrumowy"].value;
if (x == null || x == "") {
alert("Numer umowy musi zostać uzupełniony.");
return false;
}
}
}
答案 2 :(得分:1)
您应该在此之前获取这些复选框的值,如果未选中其中一个,则退出该函数。
function validateForm() {
var frm = document.forms["form"];
if (!frm["Checkbox1"].checked && !frm["Checkbox2"].checked && !frm["Checkbox3"].checked) return;
var x = frm["nrumowy"].value;
if (x == null || x == "") {
alert("Numer umowy musi zostać uzupełniony.");
return false;
}
}
答案 3 :(得分:0)
好的,谢谢你的回答,我现在得到了这个:
<script>
function validateForm() {
var frm = document.forms["form"];
if (!frm["check_list1"].checked && !frm["check_list2"].checked && !frm["check_list3"].checked) return;
var x = frm["tematyka"].value;
if (x == null || x == "") {
alert("Tematyka artykułu musi zostać uzupełniona.");
return false;
}
}
</script>
<script>
function validateForm2() {
var x2 = document.forms["form"]["nrumowy"].value;
if (x2 == null || x2 == "") {
alert("Numer umowy musi zostać uzupełniony.");
return false;
}
}
</script>
HTML:
<form name="form" method="POST" action="preview.php" onsubmit="return (validateForm() & validateForm2());">
警报有效,但在用户点击确定后,他会进入preview.php页面。如果只有一个onsubmit函数,那么这很好用,但是当我尝试将这两个函数结合起来时,会出现一些错误。