jQuery имеет проблемы с передачей переменных в форму - PullRequest
0 голосов
/ 14 марта 2011

Я использую $.post() с jQuery для передачи нескольких переменных в форму.Первая форма предназначена для ввода информации, и страница, на которую она публикует, является страницей «предварительного просмотра», содержащей эту информацию в правильной настройке.Я использую $_REQUEST для получения переменных, но это не похоже на работу.Когда страница перенаправляет, нет заполненных переменных.

Вот jQuery, который я использую:

$('#createEnter').live('click',function() {
        if($("#createForm").valid())
        {
            $.post('coupPreview.php', $('#createForm').serialize(), function(){
                window.location.replace("../coupPreview");
            });
        }
    });

Затем я отправляю сообщение в coupPreview.php и перенаправляю туда, так что теоретически я долженувидеть все переменные, но я всегда ничего не вижу, как будто переменные не были переданы.Я имел это как чистый пост PHP / HTML ранее, и он работал нормально, поэтому весь другой код должен быть правильным.

Любая помощь?

Ответы [ 2 ]

1 голос
/ 14 марта 2011

На самом деле вы делаете 2 отдельных запроса, в одном вы делаете сообщение ajax с информацией о форме. В результате, вероятно, данные заполнены, но затем вы перенаправляете браузер на страницу и не отправляете любая информация с запросом, поэтому нет данных для отображения.

Рассматривали ли вы вместо этого просто изменение своего сообщения и перенаправление, чтобы действие формы стало страницей, на которую вы хотите перейти, и публикуете значения при навигации?

Что-то с эффектом:

<form action="coupPreview.php" method="post">
    <!-- Your Inputs Here -->
    <input type="submit" onclick="return $('#createForm').valid()" />
</form>

Конечно, я не знаю, какова была ваша цель с помощью вызова ajax, так что это может быть совсем не то, что вы хотите сделать.

0 голосов
/ 14 марта 2011

Возможно, вы могли бы попытаться повторить значение $ _REQUEST во время $ .post, а затем предупредить его, прежде чем перенаправить, чтобы убедиться, что оно работает:

$('#createEnter').live('click',function() {
    if($("#createForm").valid())
    {
        $.post('coupPreview.php', $('#createForm').serialize(), function(data){
            alert(data);

            window.location.replace("../coupPreview");
        });
    }
});

Дополнительно вы можете попробовать:

var data = $('#createForm').serialize();

$.post('coupPreview.php', data, function(data){...

А затем используйте Firebug или Chrome Dev Tools, чтобы подтвердить правильность значений в «данных».

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