【问题标题】:Form won't submit properly in IE表单无法在 IE 中正确提交
【发布时间】:2010-06-10 02:04:19
【问题描述】:

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

这里是页面链接: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>

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

【问题讨论】:

  • 似乎对我有用...有什么问题?
  • 你的 jQuery 版本是多少?您可以使用 jQuery 1.4+ 在 IE 中安全地使用 .change()(请参阅 api.jquery.com/change
  • 我最初使用的是
  • 问题:1) 使用 Internet Explorer 时,从下拉菜单中更改价格并不总是更新。 2) 有时自定义输入框在选择“其他”时不可见。 3) 在输入文本框中输入自定义价格时,提交时并不总是更新价格。
  • 不断出现的主要问题是尝试使用“其他”选项并输入您自己的捐款金额时。使用 IE 时第一次尝试无法正确更新价格,但如果您再次尝试,它将起作用(与更改功能有关,或者焦点/模糊是我从其他论坛线程中得到的)。

标签: jquery forms submit onchange


【解决方案1】:

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

有效的新脚本!

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多