form表单中如果存在button的话,有可能会出现一个问题:点击button,触发了页面的自动刷新事件。
原因是因为
<button></button>
<!-- 两者是相当的 -->
<button type="sumbit"></button>
解决的办法有三个。
1.在
<button type="button"></button>
2.将
<input type="button" />
3.在button的点击事件中加入阻止默认事件执行的代码段(JavaScript/jQuery)。
$('button').on('click', function(e) {
e.preventDefault();
});
另外,其实现在一般是不建议使用button标签的,而是使用a标签做按钮,一个是样式的定制问题,一个就是上面的问题。
<form>
<input id="input" type="text" placeholder="请输入字符串"/>
<input id="output" type="text" value="" />
<a onclick="cal()">计算</a>
</form>
<script>
var input = document.getElementById("input");
var output = document.getElementById("output");
function cal() {
var str = input.value;
var dic = {};
for(var i = 0; i < str.length; i++) {
if(dic[str[i]]) dic[str[i]]++;
else dic[str[i]] = 1;
}
var mx = 0;
var ch = '';
for(var k in dic) {
if(dic[k] > mx) {
mx = dic[k];
ch = k;
}
}
output.value = "字符为:" + ch + " 次数为: " + mx;
}
</script>