JQuery мобильная форма Отправить не работает - PullRequest
5 голосов
/ 24 апреля 2011

Я видел другие подобные проблемы здесь, которые нашли решения, но после попытки их решения ни одна не работает в моем случае.

Я отправляю форму, используя JQuery Mobile.

После отправки я получаю сообщение о загрузке и ничего больше.

У кого-нибудь есть идеи?

Вот соответствующий код:

в голове:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Page Title</title> 
    <link rel="stylesheet"  href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>


    <script>
  //reset type=date inputs to text
  $( document ).bind( "mobileinit", function(){
    $.mobile.page.prototype.options.degradeInputs.date = true;
  });   
</script>


</head> 

Тогда форма:

<form name="form1" method="post" rel="external" action="checklogin.php">


<div class="ui-field-contain ui-body ui-br" data-role="fieldcontain">
 <label class="ui-input-text" for="name">Username:</label>
<input name="myusername" id="myusername" value="" type="text">
</div>

<div class="ui-field-contain ui-body ui-br" data-role="fieldcontain">
 <label class="ui-input-text" for="name">Username:</label>
<input name="mypassword" id="mypassword" value="" type="text">
</div>

<fieldset class="ui-grid-a">
<div><input value="" name="" type="hidden"><button aria-disabled="false" class="ui-btn-hidden" type="submit" data-theme="a">Login</button></div></div>
</fieldset>



</form>

Примечание. Я добавил эхо на странице действий, но оно туда не дошло.

Любые идеи, кто-нибудь, пожалуйста?

Спасибо

Ответы [ 4 ]

16 голосов
/ 28 мая 2013

jquery mobile использует ajax в передаваемых формах, просто выключите его, и вы готовы идти

<form action="form1" method="post" data-ajax="false">

5 голосов
/ 24 апреля 2011

Есть ли в вашем файле "checklogin.php" тег <div data-role="page">?Если вы ожидаете, что он загрузит «checklogin.php», то этот php-файл должен иметь некоторый HTML-код, который распознает jQuery mobile.Это тогда потянет это в Вашу страницу.Если вы проверите свой сетевой ответ на POST-запрос для «checklogin.php», вы, вероятно, увидите там свое эхо, но оно не будет отображаться на странице.Попытайся.

3 голосов
/ 19 января 2015

Используйте Javascript submit вместо Jquery submit, так как это проблема с jquery mobile.

использовать

document.getElementById ("formID"). Submit ();

вместо

$( "#formID") представляет ();.

3 голосов
/ 01 августа 2012

Вот один из способов заставить щелчки при отправке не срабатывать в jQuery Mobile: просто добавьте поля CSS к вашему

Что происходит:

Элемент видимой оболочки jQM копирует все классы, примененные к фактическому элементу ввода, к которому применяется стиль jQM и app css.Если вы назначите кнопке верхнее или левое поле, это приведет к смещению позиции фактического элемента ввода «внутри» элемента оболочки, так что щелчки в верхней и левой части видимого элемента пропускают фактический элемент submit!Потрясающий способ создания случайного сбоя в поле.

Вы можете увидеть это на прикрепленном снимке экрана отладки с выделенной фактической геометрией элемента submit.

Исправление:

    $("#createButton").parent().click(function() {$("#createButton").click()});

Таким образом перехватывает щелчок по элементу-обертке и перенаправляет его на фактический элемент submit.

Очевидно, плохой дизайн в jQM.Если они собираются «переместить» украшения на элемент-обертку, они должны удалить их из обернутого элемента.Существует множество жалоб на то, что jQM не отправляет сообщения в Интернете, и я подозреваю, что многие из них являются этой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...