表单不会仅在safari上使用javascript提交
我不明白为什么这不适用于safari,我有一个这样的表单:表单不会仅在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&
<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"> Gâteaux et pâtisseries</option>
<option value="237"> Plats et restauration</option>
<option value="246">Produits de la ferme</option>
<option value="248"> Poulet fermier</option>
<option value="216">Produits de la mer</option>
<option value="218"> Crabes, langoustes et fruits de mer</option>
<option value="176">Produits des champs</option>
<option value="214"> Fruits et légumes</option>
<option value="213"> Ignames parates taros</option>
<option value="231">Sculptures et artisanat d'art</option>
<option value="234"> 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,从那里,它将无法工作
- 但是:如果我现在重新加载页面,它会工作李>
有人经历过类似的事情吗?我设法解决了这个问题,用按钮标签替换了a标签,正如标题中缺少“S”所建议的那样。我对Safari有问题,有时在使用“a”标记作为JavaScript函数的按钮时会遇到Chrome问题。现在我只使用按钮。解释一下你所说的“父窗体”是什么意思?您实际上并没有将
表单
元素嵌套到彼此中,是吗?@CBroe不,我不是,我指的是封闭表单。