3

我的简单捐赠表格可以正确提交,但 Internet Explorer 除外。我确信这与 change() 和 focus() 或 blur() 的问题有关,但迄今为止我所有的数百次尝试都失败了。我尝试使用 .click() 而不是 change() ,如本文所述:Getting jQuery to identify .change() in IE (and others),但我无法让它工作!...所以我可能忽略了一些简单的事情。

这是该页面的链接:http ://www.wsda.org/donate

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>

查询:

// 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());
});
4

1 回答 1

0

使用这篇文章给出的答案之一:让 jQuery 在 IE 中识别 .change() - 我将脚本修改为以下内容,现在效果很好!

有效的新脚本!:

// 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());
});
于 2010-06-11T00:28:30.747 回答