[英]dojo framework - event doesn't work
我的代碼有問題,我想通過單擊按鈕發送 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>
我沒有點擊過濾按鈕,但是 function 會自動執行,為什么?
我不知道 dojo,但是這條線
dojo.connect(dojo.query("input[name=filter]"), "onclick", set("set_filter"));
執行set
function 並將返回值傳遞給dojo.connect
。
你必須通過function,而不是調用它。 所以我很確定你想要:
dojo.connect(dojo.query("input[name=filter]"), "onclick", function() {
set("set_filter");
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.