<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!--省份选择-->
<select id="id_prov" οnchange="showCity()">
<option value="0">安徽</option>
<option value="1">江苏</option>
<option value="2">湖南</option>
</select>
<script type="text/javascript">
function showCity() {
alert(1);
var p=0;
}
</script>
</body>
</html>
自己把写的代码先黏贴到记事本中,你就会发现你的onchange的o写的有问题了
input的onchange事件第二次不执行,问题的根源在于没有发生任何改变,因为绑定的是onchange事件,如果事件的对象没有发生改变,那么事件是不会执行的。当第二次选择文件和第一次选择的文件相同的时候,input的value值是一样的,在js看来就是没有变化,里面的值跟之前还是一样。所以就出现了问题的出现。
要解决这个问题,可以在onchange事件执行完之后,清空input的value值,当第二次再选择相同的文件时,里面的value从空值变为任何值,都是一个改变的过程,所以就不会存在事件不执行的问题了。
这个暂时解决现有问题,但是这个后续又有新的问题
1、确认导入了JS库
2、clean项目重启
把script标签内容放在body上面
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!--省份选择-->
<select id="id_prov" onchange="showCity()">
<option value="0">安徽</option>
<option value="1">江苏</option>
<option value="2">湖南</option>
</select>
<script type="text/javascript">
function showCity() {
alert(1);
var p=0;
}
</script>
</body>
</html>