2013-02-27 3 views
1

У меня есть форма:подчиненной формы правильно не работает на IPad

<form id="pay_form" action='@ConfigurationManager.AppSettings["LogonUrl"]' method="POST"> 
       <input type="hidden" name="Signed" value=""> 
       <input type="hidden" name="email" size="50" maxlength="50" value=""> 
       <input type="hidden" name="Language" value="en"> 
       <input id="pay_confirm_order" type="button" class="btn btn-large btn-primary pull-right" value="Submit"/> 
    </form> 

Это JS код, который обрабатывать формы представить:

$(document).on('click', '#pay_confirm_order', function() { 
     fillEpayForm(); 
    }); 

Когда пользователь нажимает Sumbit кнопку Я делаю AJAX запрос:

function fillEpayForm() { 
     var url = getCultureUrl('/pay/FillEpayForm?' + Math.random()); 

     $.ajax({ 
      type: "GET", 
      url: url, 
      cache: false, 
      dataType: "json", 
      success: function (data) { 
       $('#pay_form').find('input[name="Signed"]').val(data.signedString); 
       $('#pay_form').find('input[name="email"]').val(data.email); 
       $('#pay_form').submit(); 
      }, 
      async: false 
     }); 
    } 

Атрибут action содержит внешний URL (это банковский сервис, который получает p ost запросы). Когда форма отправляется, чем открывается сайт банка. Все отлично работает на настольных браузерах и Android. Но на iPad3 адресная строка изменена, но страница не изменяется. Как это решить? Это проблема только в iOS6, в версии 5.1 все работает нормально.

+0

Вероятно, на iPad есть ошибка javascript, которая убивает ваш скрипт. Вам нужно будет отладить его, удалив веб-инспектор или weinre. – HyderA

+0

@gAMBOOKa: Нет ошибок js – user348173

ответ

1

Попробуйте это:

function fillEpayForm() { 
    var url = getCultureUrl('/pay/FillEpayForm?' + Math.random()); 

    $.ajax({ 
     type: "GET", 
     url: url, 
     cache: false, 
     dataType: "json", 
     success: function (data) { 
      $('#pay_form').find('input[name="Signed"]').val(data.signedString); 
      $('#pay_form').find('input[name="email"]').val(data.email); 
      $('#pay_form').submit(); 
     }, 
     async: false 
    }); 
    return false; 
} 
$(document).on('click', '#pay_confirm_order', function() { 
    return fillEpayForm(); 
}); 
+0

Пробовал, но не работает – user348173

+0

Работает ли ваша функция ajax? После вызова 'fillEpayForm();' add 'alert (' test '); ' –

+0

предупреждение работает нормально – user348173

0

У меня были некоторые серьезные mproblem с IPad, потому что он кэширует взгляды отверстия. Я решил свою проблему, используя

[OutputCache(Location = System.Web.UI.OutputCacheLocation.None, NoStore = true, Duration = 0, VaryByParam = "*")] 

как атрибут для моего базового контроллера, это может вам помочь.

+0

Попытка, результат тот же – user348173

Смежные вопросы