[RESOLU] Problème JS/Php sur Safari (onclick)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Problème JS/Php sur Safari (onclick)

Re: Problème JS/Php sur Safari (onclick)

par POKEMAT » 06 juin 2018, 00:28

J'ai trouvé ma solution !
La voici:
<script type="text/javascript">




$(document).ready(function() {
$("#input-quantity-<?php echo $product['cart_id']; ?>").change(function() {
$("input[name*='quantity[<?php echo $product['cart_id']; ?>]']").val($(this).val());
$(this).closest("form").submit();
if($(this).val()==0)
{
cart.remove('<?php echo $product['cart_id']; ?>');
}
})
});

</script>

Problème JS/Php sur Safari (onclick)

par POKEMAT » 06 juin 2018, 00:02

Bonjour,
j'ai un problème que je n'arrive pas à résoudre.

Mon sélecteur fonctionne avec php & js. Il fonctionne bien sur Safari & Firefox pour la sélection des quantités. En revanche, la fonction de l'option Retirer ce produit fonctionne bien sur Firefox mais pas sur Safari (ni sur Chrome d'ailleurs je crois).

Par contre si je met un bouton en dehors du sélecteur ça fonctionne sur Safari et firefox:
<a onclick="cart.remove('<?php echo $product['key']; ?>');">Retirer ce produit</button>

Mais j'aimerai vraiment que ce soit possible de retirer le produit avec le sélecteur sans passer par un bouton extérieur.
Si quelqu'un à une idée et peut débloquer ma situation ça serait vraiment mon super héro !
J'ai testé plein de trucs mais je ne connais ni ne trouve la solution :'(


html + php
<select class="produitselect" name="quantity[<?php echo $product['key']; ?>]" id="input-quantity-<?php echo $product['key']; ?>">
<option onclick="cart.remove('<?php echo $product['key']; ?>');">Retirer ce produit </option>
<?php
$qtespe=$product['quantity'];

for ($i=1; $i<=$product['stock_available']; $i++)
{
?>
<option <?php if ($i == $qtespe) { ?> selected="selected" <?php } ?> value="<?php echo $i;?>">


<?php echo $i;?>
</option>



<?php
}


?>
</select>

<input style="display:none" type="text" name="quantity[<?php echo $product['key']; ?>]" size="1" value="<?php echo $product['quantity']; ?>" class="form-control" />

Javascript (dans la même page html)

<script type="text/javascript">

$("input[name*='quantity[<?php echo $product['key']; ?>]']").change(function() {
$(this).closest("form").submit();
});

$("#input-quantity-<?php echo $product['key']; ?>").change(function() {
$("input[name*='quantity[<?php echo $product['key']; ?>]']").val($(this).val());
$(this).closest("form").submit();
});

</script>