J'ai récemment été informé que mon application de panier d'achat se casse dans Mobile Safari (iPhone, iPod Touch). Les formulaires "Ajouter au panier" utilisent l'approche "Amélioration progressive" pour prendre en charge les mises à jour AJAX à l'aide de jQuery. Quelques tests rapides ont montré que la fonctionnalité fonctionne en effet avec JavaScript désactivé. Tout ce que j'ai lu jusqu'ici indique que l'iPhone ne prend pas en charge l'événement "form.onsubmit", ce que je suis en train de faire avec jQuery pour initier la transaction AJAX. Puis-je effectuer des modifications pour ajouter la prise en charge de l'iPhone sans en effectuant une détection de navigateur ou en servant d'autres scripts?Comment rendre un formulaire AJAX existant compatible avec l'iPhone?
La forme actuelle modèle:
<form method="post" action="" class="my-cart">
<fieldset>
...
<input type="submit" name="my-button" value="add to cart" />
</fieldset>
</form>
Et l'événement de script:
$('form.my-cart').submit(function(){
...
});
J'ai eu beaucoup de succès avec ce en termes de soutien du navigateur (la plupart des navigateurs prennent en charge l'AJAX/JavaScript, mais tout d'autres - à l'exception de l'iPhone - vont revenir à la soumission régulière de formulaire, etc .. etc ..). Je voudrais soutenir la fonction AJAX dans l'iPhone, mais je vais me contenter de contourner le JavaScript. Tel quel, l'iPhone fait simplement rien en cliquant sur le bouton Soumettre.
Merci, c'est un début, mais j'espérais quelque chose d'un peu moins lourd. Il semble que ce plugin se lie aux événements form.submit et button.click; ce dernier peut être la clé pour faire ce travail avec l'iPhone. –