调试一个JavaScript的程序,相当郁闷(花了不少时间),虽然问题不经意间解决(哥的运气还好~),但还不知道所以然。
简单叙述下该场景:
JS代码(Ajax):
<script>
function search(item) {
items = item.forms.elements;
Ajax.call(…..);
}
</script>
HTML代码:
<form actioin=”javascript:;” method=”post”>
<button onclick=”search(this)”>搜索</button>
</form>
以上是简化的模拟场景。一直跟踪到XMLHttpRequest的onreadystatechange方法,检查到status为0,Firefox给出的提示是:Firefox不知道如何打开此地址,因为协议(Javascript)未知任何程序关联。
用了好多test确保程序无误,但在以上情况下就通不过。当快要绝望的时候,我把button这个HTML标签,加个type=”button”。噢嘢!运行成功。坑爹的!
PS:<button> 控件 与 <input type=”button”> 相比,提供了更为强大的功能和更丰富的内容,所以一开始用了button,没想到这里被“调戏”了下~