jQuery ajax で送信したいフォームがあります。iPad/iPhone を除くすべてのブラウザで動作します。なぜそれが機能しないのか理解できないようです。iPad は ajax からの呼び出しを完全に無視し、フォームを「送信」するだけです。
その特定の部分のJavaは次のとおりです(ドキュメント内に配置されています):
$(".add_to_cart").bind('submit', function(e) {
var productID = $(this).attr('id');
var quantity = $(this).find("#quantity").val();
$.ajax({
type: 'post',
url: '/add/',
data: 'quantity='+quantity+'&product_id='+productID,
success: function(callback) {
window.location = '/cart/';
}
});
e.preventDefault();
});
そして、これがhtmlです
<form id="481" class="add_to_cart" method="post">
<input type="hidden" name="product_id" value="481">
<select name="quantity" id="quantity"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option></select>
<input type="submit" value="Add to cart" />
</form>
私は live 、 bind 、および submit() も試しました。このサンプルでは bind を使用していますが、これも iPad やその他の iOS デバイスでは機能しません。