gpt4 book ai didi

javascript - dojo框架-事件不起作用

转载 作者:行者123 更新时间:2023-12-02 20:16:48 24 4
gpt4 key购买 nike

我的代码有问题,我想通过单击按钮发送 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]"), "onclick", function() {
set("set_filter");
});

关于javascript - dojo框架-事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com