Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表单不会仅在safari上使用javascript提交_Javascript_Html_Jquery - Fatal编程技术网

表单不会仅在safari上使用javascript提交

表单不会仅在safari上使用javascript提交,javascript,html,jquery,Javascript,Html,Jquery,我不明白为什么这不适用于safari,我有一个这样的表单: <form action="https://nakupa.co/browse-ads/" id="home--search-form" class="labeled-main-search flex-wrap"> <input type="hidden" value="1" name="aff-cpt&

我不明白为什么这不适用于safari,我有一个这样的表单:


<form action="https://nakupa.co/browse-ads/" id="home--search-form" class="labeled-main-search flex-wrap">
   <input type="hidden" value="1" name="aff-cpt">
   <div>
      <label for="keyword">Mot clé</label>
      <div class="keyword-wrap"> <input type="text" class="form-control" name="keyword" placeholder="Rechercher..."></div>
   </div>
   <div>
      <label for="location">Lieu</label>
      <div class="header-location"> <input type="text" class="form-control place-lookup location pac-target-input" name="location" placeholder="Situé à..." autocomplete="off"> <input type="hidden" name="latitude" class="latitude" value="43.641906726879895"> <input type="hidden" name="longitude" class="longitude" value="-0.44476782060628417"></div>
   </div>
   <div>
      <label for="category">Catégorie</label>
      <div class="styled-select">
         <select name="category">
            <option value="">Dans la Catégorie</option>
            <option value="236">Plats et pâtisseries maison</option>
            <option value="238">&nbsp;&nbsp;Gâteaux et pâtisseries</option>
            <option value="237">&nbsp;&nbsp;Plats et restauration</option>
            <option value="246">Produits de la ferme</option>
            <option value="248">&nbsp;&nbsp;Poulet fermier</option>
            <option value="216">Produits de la mer</option>
            <option value="218">&nbsp;&nbsp;Crabes, langoustes et fruits de mer</option>
            <option value="176">Produits des champs</option>
            <option value="214">&nbsp;&nbsp;Fruits et légumes</option>
            <option value="213">&nbsp;&nbsp;Ignames parates taros</option>
            <option value="231">Sculptures et artisanat d'art</option>
            <option value="234">&nbsp;&nbsp;Artisanat d'art</option>
         </select>
      </div>
   </div>
   <div class="search-submit"> <a href="javascript:void(0);" class="af-button submit-form">Recherche</a></div>
</form>
    $(document).on('click', '.submit-ajax-form, .submit-form', function(e){
        e.preventDefault();
        $(this).parents('form').submit();
    });
除了safari,它对任何东西都有效,我不明白为什么。事件被正确触发,当我点击按钮时,如果我将当前目标或父表单添加到这段js中,它甚至会记录当前目标或父表单,但它不会提交,更糟糕的是,有时它会以某种方式工作。如果我点击标题链接进入同一页面(主页),它就会工作。 示例场景:

  • 新的safari专用选项卡
  • Cookie弹出窗口显示,如果我在不接受Cookie通知的情况下单击搜索按钮,它就会工作
  • 如果我接受cookie通知,页面将重新加载,并加载google analytics js,从那里,它将无法工作
  • 但是:如果我现在重新加载页面,它会工作
iOS模拟器上的行为类似(iPhone SE第二代)


有人经历过类似的事情吗?

我设法解决了这个问题,用按钮标签替换了a标签,正如标题中缺少“S”所建议的那样。我对Safari有问题,有时在使用“a”标记作为JavaScript函数的按钮时会遇到Chrome问题。现在我只使用按钮。解释一下你所说的“父窗体”是什么意思?您实际上并没有将
表单
元素嵌套到彼此中,是吗?@CBroe不,我不是,我指的是封闭表单。