jQuery检测单选按钮是否被人类或非表单提交更改

时间:2015-10-11 10:45:35

标签: javascript jquery html forms

我有一个搜索功能和一些使用单选按钮的过滤器。如果单选按钮值改变(由人),它将使用jQuery提交表单。我的问题是,如果页面重新加载我正在通过javascript根据我的URL的GET参数设置单选按钮。他们仍然会被检测为人为动作,我的网站不断重新加载(循环)。我试图使用originalEvent属性。 如何阻止我的网站循环?它不应该在刷新时重新加载页面。 它适用于某些过滤器,例如价格,但具有相同功能的其他单选按钮会导致像我的流派单选按钮一样循环。

无线电更改功能/ GET可变助手/设置单选按钮/文档就绪

    $('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();
});

0 个答案:

没有答案