簡體   English   中英

dojo 框架 - 事件不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM