я могу использовать serialize () и дополнительную переменную jQuery в запросе $ .post? - PullRequest
1 голос
/ 04 октября 2009

В настоящее время у меня есть эта строка:

$.post("submitmail.php", $("#contactform").serialize(), recvMailStatus);

Я новичок в jQuery, так что это может быть абсурдно глупым вопросом.
Но я заставляю этот проект работать с или без javascript, поэтому, если форма отправляется с этой функцией, я хочу, чтобы submitmail.php просто отображал, был ли он успешным. Если форма просто отправляет и перенаправляет в submitmail.php, я хочу, чтобы она отображала что-то, кроме белого экрана с черным текстом с надписью «почта успешно отправлена». Чтобы сделать это, я решил, что просто добавлю post дополнительную переменную "fromjs" или что-то еще, чтобы страница могла отображать себя соответствующим образом. Какой лучший способ сделать это?

Ответы [ 3 ]

7 голосов
/ 04 октября 2009

Вы можете добавить его по адресу, который вы отправляете:

$.post(
    "submitmail.php?formjs=some_value", 
    $("#contactform").serialize(), 
    recvMailStatus
);

или

$.post(
    "submitmail.php", 
    $("#contactform").serialize() + '&formjs=some_value', 
    recvMailStatus
);
1 голос
/ 04 октября 2009

Лучший способ - использовать функцию $ .ajax, например:

$.ajax({
   type: "POST",
   url: "submitmail.php",
   success: function(msg){
     alert(msg);
   }
 });

Вы можете изменить его для отображения окна другого типа, в JQuery есть несколько симпатичных плагинов о настройке оповещений. Кроме того, вам нужно отследить отправку формы и избежать перенаправления вашей страницы.

0 голосов
/ 21 января 2012

Я знаю, что это старый, но другой способ будет, например:

Когда пользователь нажимает кнопку, он сериализует форму и добавляет в список 2 переменные, которые затем отправляет в PHP. После чего PHP ответит и отправит информацию обратно для показа в виде предупреждения. Что-то вроде:

$('#send').click(function() {
    var regname = $('#regname').val();
    var regnameid = $('#regnameid').val();
    $.post('ext/engine.php', $('#regform').serialize() + {regnameid: regnameid, regname: regname}, function(data) { alert(data); });

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