【问题标题】:jQuery Event Handler - if GET is set [duplicate]jQuery 事件处理程序 - 如果设置了 GET [重复]
【发布时间】:2014-04-24 19:59:34
【问题描述】:

如果设置了 GET 值,是否有一个 jQuery 事件处理程序会触发?相当于php的isset:

if(isset($_GET["myValue"])){
}

【问题讨论】:

  • 不,没有发生任何事件。您可以从 url 读取所述值。
  • 我的问题是我正在使用 $.ajax 方法阻止 GET 参数进入 url(因为我必须使用 event.preventDefault() )。有没有办法解决这个问题?
  • @user2755541:目前还不清楚你在问什么,很有可能解决方案需要退后一步,看看问题的根源,而不是你目前陷入困境的地方在您假设的解决方案中。您能详细说明您要完成的工作吗?
  • @David - 是的,我有一个函数可以在提交时使用 get 方法处理表单。 $('#myForm').submit(function(event) {//ajax stuff here} 但我也希望 get 参数显示在 url 中,这就是我不使用 POST 方法的原因,所以表单处理的结果可以通过url复制,即mysite.com?param1=myValue
  • 我应该开始一个新问题吗?

标签: jquery


【解决方案1】:

您可以检查location.search 是否包含您的参数:

if(location.search.indexOf("test=") != -1){
}

【讨论】:

    【解决方案2】:

    将此函数用于任何 $_GET 参数。

    function searchCheck(param){
      var a = Array();
      var b = Array();
        if(location.search.length>0){
          a= location.search.split('&');
          for(var index=0;index<a.length;index++){
             b= a[index].split('=');
            if(b[0]==param && b[1].toString()>0){
              alert(param+" already set");
              return true;
            }
          }
        }
    alert(param+" not set");
    return false;
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 2011-01-11
      • 2012-05-10
      • 1970-01-01
      • 2020-12-04
      相关资源
      最近更新 更多