gpt4 book ai didi

javascript - 仅当元素存在时才使用 Jquery 函数(Ajax 调用)

转载 作者:行者123 更新时间:2023-11-28 21:16:23 25 4
gpt4 key购买 nike

我是 Jquery 和 Ajax 的新手。我正在尝试使用良好的形式并将 Ajax 函数调用保存在单独的文件中。我的文件当前包含一个如下所述的函数:

$("form#click").submit(function(){
myArray =$("option.asmOptionDisabled");
tids = []
$.each(myArray, function(i, val) {
tids[i] = val.value;
});
$("#uberloading").css("display","block");
tids = tids.join(',%20');

date_start = $(".date-start")[0].value;
hour_start = $(".hour-start")[0].value;

date_end = $(".date-end")[0].value;
hour_end = $(".hour-end")[0].value;



$.ajax({
url: '/saffron_main/click_out_display?tids='+tids+'&date-start='+date_start+'&hour-start='+hour_start+'&date-end='+date_end+'&hour-end='+hour_end,
success: function (data) {
$('#graph').html(data);
$("#uberloading").css("display","none");
}
});
});

但是,当我将此文件加载到没有带有类单击的表单元素的页面时,我收到一条错误,指示您无法在 null 元素上调用 .submit 函数。如何确保仅当存在带有类单击的表单元素时才加载该函数?

最佳答案

首先,form#click是一个带有 id="click" 的表格(不是 class ,如问题文本所述)。

但这里真正的问题不是没有这样的形式——jQuery 不会有任何问题,你的处理程序将不会被附加,但仅此而已。

问题在于表达式 $("form#click")其本身并不产生 jQuery 对象。造成这种情况的可能原因有两个:

  • jQuery 未正确包含在导致此错误的页面中,在这种情况下包含它可以解决问题。
  • 此代码在 jQuery 包含在页面中之前运行,在这种情况下,将其移到 <script> 之后包含 jQuery 的标签将解决该问题。

关于javascript - 仅当元素存在时才使用 Jquery 函数(Ajax 调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476595/

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