2012-04-14 5 views
0

Я начал использовать jquery и jquery-ui. У меня возникла проблема с попыткой отправить форму внутри вкладки. Как только я нажму «submit», страница обновится, вкладки исчезнут, а URL-адрес будет изменен на url функции вкладки. кнопка отправки работает, и я получаю желаемый результат. Однако он не находится на той же странице, что и вкладки.форма отправки на вкладке jquery

Есть ли у кого-нибудь идеи о том, как сохранить страницу освежающей?

пример моей проблемы:

У меня есть страница под названием «index.php» с 3-мя различными вкладками. одна из вкладок называется «submit form», где у меня есть форма с использованием метода POST, она берет свой источник из «form.php». как только я нажму кнопку «отправить», страница обновится, url изменится с «www.example.com» на «www.example.com/form.php», я получаю результат там, но страница «простая», , означает, что его не под вкладкой, просто обычная страница.

Надеюсь, я правильно объяснил.

Спасибо!

EDIT: вот мой код представления:

+0

Вы объяснили проблему неплохо. Но вы пропустили раздел «что вы пробовали» – hjpotter92

+0

Я пошел на сайт jquery и проверил раздел вкладки и не нашел ответа, также, я проверил этот сайт и искал свою проблему. Я не нашел ничего, что помогло, а также, я не понял их объяснений. – Baruch

+0

это не имеет никакого отношения к jquery ui проблема в вашем php –

ответ

0

Capture представление формы в JQuery, а затем остановить его с preventDefault();

$(function(){ 
    $('#formID').on('submit', function(e){ 
    e.preventDefault(); 
    var formSrc = $(this).attr('action'); 
    var formMethod = $(this).attr('method'); 
    var formData = $(this).serialize(); 
    $.ajax({ 
     url: formSrc, 
     type: formMethod, 
     data: formData, 
     success: function(data){ 
     //work with returned data from requested file 
     alert(data); 
     } 
    }); 
    }); 
}); 

EDIT:

я должен добавить, что я решил использовать on();, а не по умолчанию submit(). Это связано с тем, что форма может быть или не быть доступна в DOM.ready.

+0

Что делать, если я запустил эту информацию, возвращенную через PHP-код на той же вкладке, как я мог это сделать? –

+0

@ Giovanni Di Toro вам нужно будет немного подробнее рассказать. Не могли бы вы описать сценарий немного лучше? Это довольно неоднозначно. – Ohgodwhy

0

В ответ на ваш второй вопрос: «Что, если я запустил эту информацию, возвращенную через PHP-код на той же вкладке, как я могу это сделать?»

Имейте свой php-скрипт в качестве значения JSON как: $ row = mysqli_fetch_array ($ result, MYSQLI_ASSOC);
echo json_encode ($ row); Тогда вы можете иметь Javascript делать все, что вы хотите с возвращенными значениями, такими как -

$.ajax({ 
     url: 'sc_getData.php?id=' + ID, 
      type:'GET' 
    }) 
    .done(function(myData) { // data = array returned from ajax 
     myData = JSON.parse(myData);  
     for (var i in tFields){ 
      thisSourceField = sFields[i]; 
      thisTargetField = tFields[i]; 
      targetID = '#' + thisTargetField; 
      thisValue = myData[thisSourceField]; 
      $(targetID).val(thisValue); 
      console.log(targetID + ': ' + thisValue); 
     } 
}) 

Я массивов для Target и Source Настройка полей. Аргументы поля источника соответствуют именам полей, возвращаемым скриптом php, в то время как массивы целевых полей будут соответствовать идентификатору поля формы, который должен быть заполнен возвращаемыми значениями.

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