2010-06-10 4 views
3

Моя простая форма пожертвования отправляется правильно, за исключением Internet Explorer. Я уверен, что это связано с проблемами с change() и focus() или blur(), но все мои сотни попыток до сих пор мне не удалось. Я попытался использовать .click() вместо change(), как упоминалось в этом сообщении: Getting jQuery to recognise .change() in IE (и в другом месте), но я не мог заставить его работать! ... поэтому я, возможно, не замечаю что-то простое.Форма не будет отправлена ​​должным образом в IE

Вот ссылка на страницу: http://www.wsda.org/donate

HTML FORM:

<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

кажется работает для меня ... в чем проблема? – Reigel

+0

Какова ваша версия jQuery? Вы можете использовать .change() в IE безопасно с jQuery 1.4+ (см. Http://api.jquery.com/change/) – Chubas

+0

Я изначально использовал Но просто изменил его на ... но все еще не работает. – VUELA

ответ

0

Используя один из ответов с этого поста: Getting jQuery to recognise .change() in IE - Я пересмотрел свой сценарий на следующий, и теперь я t работает отлично !!

Новый скрипт, который работает !:

// 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()); 
}); 
Смежные вопросы