Javascript jQuery检测单选按钮是由人工更改的还是不是表单提交的
我有一个搜索功能和一些过滤器,它们使用单选按钮。如果单选按钮值更改(由人工更改),它将使用jQuery提交表单。我的问题是,如果页面重新加载,我会通过javascript根据URL的GET参数设置单选按钮。它们仍然会被检测为人为行为,我的站点会不断重新加载(循环)。我试图使用Javascript jQuery检测单选按钮是由人工更改的还是不是表单提交的,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个搜索功能和一些过滤器,它们使用单选按钮。如果单选按钮值更改(由人工更改),它将使用jQuery提交表单。我的问题是,如果页面重新加载,我会通过javascript根据URL的GET参数设置单选按钮。它们仍然会被检测为人为行为,我的站点会不断重新加载(循环)。我试图使用originalEvent属性。 如何阻止我的站点循环?刷新时不应重新加载页面。 它适用于某些过滤器,例如price,但其他具有相同功能的单选按钮会导致循环,就像我的流派单选按钮一样 单选更改功能/获取变量助手/设置单选按钮
originalEvent
属性。
如何阻止我的站点循环?刷新时不应重新加载页面。
它适用于某些过滤器,例如price,但其他具有相同功能的单选按钮会导致循环,就像我的流派单选按钮一样
单选更改功能/获取变量助手/设置单选按钮/文档准备就绪
$('input:radio').change(function(e){
if (e.hasOwnProperty('originalEvent')) {
alert("human change");
$("#filter_form" ).submit();
}
else{
alert("not human click");
}
}
);
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
console.log('Query Variable ' + variable + ' not found');
function ready_price_filter(){
var price_filter_value = getQueryVariable('price_filter');
if (price_filter_value){
$('#price_' + price_filter_value).click();
console.log("setting ");
}
}
$(function(){
ready_price_filter();
});
$('input:radio')。更改(函数(e){
if(例如hasOwnProperty('originalEvent')){
警惕(“人类变化”);
$(“#筛选表格”).submit();
}
否则{
警报(“非人工点击”);
}
}
);
函数getQueryVariable(变量){
var query=window.location.search.substring(1);
var vars=query.split(&);
对于(var i=0;i从服务器端创建一个名为“RadioSet”的隐藏输入字段,如果无线电状态是由GET引起的,则设置为值1?那么您至少知道它是由GET引起的:)@Pekka最聪明的答案。我没有想过。如果您将此作为答案发布,我可以接受。