如何解决dojo框架-事件无效
| 我的代码有麻烦, 我想通过单击一个按钮来发送ajax请求, 但即使我没有点击按钮,请求也会自动运行, 这是我的代码:<script type=\"text/javascript\">
function set(mode) {
var nomor_awal = dojo.query(\"input[name=nomor_awal]\");
var nomor_akhir = dojo.query(\"input[name=nomor_akhir]\");
var validGetUrl = \"\";
validGetUrl += \"nomor_awal=\"+objNomorAwal.attr(\"value\")+\"&\";
validGetUrl += \"nomor_akhir=\"+objNomorAkhir.attr(\"value\");
dojo.xhrPost({
url:\"<?php echo base_url(); ?>register_perkara/pidana_biasa/\"+mode+\"/\",content:{
filter:validGetUrl
},load:function(response){
(response!=\"1\")? document.location = window.location: null;
}
});
}
dojo.ready(function(){
dojo.connect(dojo.query(\"input[name=filter]\"),\"onclick\",set(\"set_filter\"));
}
</script>
<table>
<tr>
<td><label for=\"nomor_awal\">Nomor awal</label></td>
<td><input type=\"text\" name=\"nomor_awal\" size=\"8\" value=\"\" /></td>
</tr>
<tr>
<td><label for=\"nomor_akhir\">Nomor akhir</label></td>
<td><input type=\"text\" name=\"nomor_akhir\" size=\"8\" value=\"\" /></td>
</tr>
<tr>
<td colspan=\"2\"><input type=\"button\" name=\"filter\" /></td>
</tr>
</table>
我没有单击过滤器按钮,但是该功能会自动执行,为什么?
解决方法
我不知道道场,但这行
dojo.connect(dojo.query(\"input[name=filter]\"),\"onclick\",set(\"set_filter\"));
执行set
函数并将返回值传递给dojo.connect
。
您必须传递函数,而不是调用它。所以我很确定你要
dojo.connect(dojo.query(\"input[name=filter]\"),function() {
set(\"set_filter\");
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。