2010-06-10 6 views
3

Mon formulaire de don simple est correctement envoyé, sauf pour Internet Explorer. Je suis sûr que cela a à voir avec des problèmes avec change() et focus() ou blur(), mais toutes mes centaines de tentatives jusqu'à présent m'ont échoué. J'ai essayé d'employer .click() au lieu de change() comme mentionné dans cet article: Getting jQuery to recognise .change() in IE (et ailleurs), mais je n'ai pas pu le faire fonctionner! ... donc je néglige quelque chose de simple peut-être.Le formulaire ne sera pas envoyé correctement dans IE

Voici le lien vers la page: http://www.wsda.org/donate

formulaire HTML:

<form id="donationForm" method="post" action="https://wsda.foxycart.com/cart.php" class="foxycart"> 
<input type="hidden" id="name" name="name" value="Donation" /> 
<input type="hidden" id="price" name="price" value="10" /> 
<div class="row"> 
<label for="price_select">How much would you like to donate?</label> 
<select id="price_select" name="price_select"> 
       <option value="10">$10</option> 
    <option value="20">$20</option> 
    <option value="50">$50</option> 
    <option value="100">$100</option> 
    <option value="300">$300</option> 
    <option value="0">Other</option> 
</select> 
</div> 
<div class="row" id="custom_amount"> 
<label for="price_input">Please enter an amount: $</label> 
<input type="text" id="price_input" name="price_select" value="" /> 
</div> 
<input type="submit" id="DonateBtn" value="Submit Donation »" /> 
</form> 

JQUERY:

// donation form 
$("#custom_amount").hide(); 
$("#price_select").change(function(){ 
    if ($("#price_select").val() == "0") { 
     $("#custom_amount").show(); 
    } else { 
     $("#custom_amount").hide(); 
    } 
    $("#price").val($("#price_select").val()); 
}); 

$("#price_input").change(function(){ 
    $("#price").val($("#price_input").val()); 
}); 
+0

semble fonctionner pour moi ... quel est le problème? – Reigel

+0

Quelle est votre version de jQuery? Vous pouvez utiliser .change() dans IE en toute sécurité avec jQuery 1.4+ (voir http://api.jquery.com/change/) – Chubas

+0

J'utilisais à l'origine Mais juste changé pour ... mais ne fonctionne toujours pas. – VUELA

Répondre

0

En utilisant l'une des réponses de ce poste: Getting jQuery to recognise .change() in IE - J'ai révisé mon script à la suivante, et maintenant je t fonctionne très bien !!

Nouveau script qui fonctionne !:

// donation form 
$("#custom_amount").hide(); 
$("#price_select").change(function(){ 
    if ($("#price_select").val() == "0") { 
     $("#custom_amount").show(); 
    } else { 
     $("#custom_amount").hide(); 
    } 
    $("#price").val($("#price_select").val()); 
}); 

if ($.browser.msie) { 
    $("#price_input").click(function() { 
    this.blur(); 
    this.focus(); 
    }); 
}; 

$("#price_input").change(function(){ 
    $("#price").val($("#price_input").val()); 
}); 
Questions connexes