【发布时间】: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