- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表单,必须在其中输入区域,然后必须从下拉列表中选择其单位。我为此使用了 javascript 验证,但它不起作用。这是我的代码:
function check_admin_post_property()
{
var area=document.post_property.property_area.value;
if(area != "")
{
if(document.post_property.area_unit.value == "Select")
{
alert("Area unit must be selected");
document.post_property.property_area.focus();
return false;
}
}
}
第一行声明一个变量并获取最终用户输入的值。第二行检查该字段是否不等于空,表示它有值。第四行检查下拉列表中的值是否等于 Select,因为用户必须选择正确的面积单位。如果是选择验证失败。基本上我想做的是进入区域不是强制性的,但如果是强制性的,则必须伴随一个单元。
这是我的标记:
<form name="post_property" action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<table>
<tr><td>Other fields</td></tr>
<tr>
<td>Property area:</td>
<td><input type="text" name="property_area" style="border:1px solid red;"><span style="color:red">*</span</td>
</tr>
<tr>
<td>Area unit:</td>
<td>
<select name="area_unit">
<option value="Select">Select</option>
<option value="square_feet">Square feet</option>
<option value="square_yards">Square yards</option>
<option value="square_meter">Square meter</option>
<option value="acre">Acre</option>
<option value="hectare">Hectare</option>
</select>
</td>
</tr>
<tr>
<td align="center"><input type="submit" name="submit" value="Submit" onclick="return check_admin_post_property()"></td>
</tr>
标记不是格式化形式,因为 stackoverflow 的标记无法正常工作。在我这边甚至看不到。
我正在使用 script 元素的 src 属性导入 js。它位于名为 js 的文件夹内,js 文件名为 post_property.js 在该文件内有一个函数 check_admin_post_property(),上面的代码就驻留在其中。我无法发布完整的脚本和 html 文件,因为如果他们(我的工作场所人员)发现我就会离开这里(这个网站是我工作场所检查最多的网站之一)。但我已经发布了相关部分。如果您需要更多信息,请告诉我或指向已经完成此类操作的第三方页面。
最佳答案
您的代码的问题在于它使用 <input type='submit'>
。您应该使用的是 <input type='button'>
。这是工作代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
function check_admin_post_property() {
var area=document.post_property.property_area.value;
if(area != "")
{
if(document.post_property.area_unit.value == "Select")
{
alert("Area unit must be selected");
document.post_property.area_unit.focus();
return false;
}
else
document.post_property.submit();
}
else {
alert("Area must be entered.");
document.post_property.property_area.focus();
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form name="post_property" action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<table>
<tr><td>Other fields</td></tr>
<tr>
<td>Property area:</td>
<td><input type="text" name="property_area" style="border:1px solid red;"><span style="color:red">*</span></td>
</tr>
<tr>
<td>Area unit:</td>
<td>
<select name="area_unit">
<option value="Select">Select</option>
<option value="square_feet">Square feet</option>
<option value="square_yards">Square yards</option>
<option value="square_meter">Square meter</option>
<option value="acre">Acre</option>
<option value="hectare">Hectare</option>
</select>
</td>
</tr>
<tr>
<td align="center"><input type="button" name="submit" value="Submit" onclick="return check_admin_post_property()"></td>
</tr>
</table>
</form>
</body>
</html>
关于javascript - 如何确保如果在一个字段中输入值,则必须填写/选择其他(随附)字段/下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15543057/
我有一个表单,必须在其中输入区域,然后必须从下拉列表中选择其单位。我为此使用了 javascript 验证,但它不起作用。这是我的代码: function check_admin_post_prope
我是一名优秀的程序员,十分优秀!