Как я получаю ответ form.submit

Неустранимая ошибка: не может использовать возвращаемое значение функции в контексте записи

Это обычно происходит при непосредственном использовании функции с empty.

Пример:

if (empty(is_null(null))) {
  echo 'empty';
}

Это связано с тем, что empty - это языковая конструкция, а не функция, она не может быть вызвана с выражением в качестве аргумента в версиях PHP до 5.5. До PHP 5.5 аргумент empty() должен быть переменной , но произвольное выражение (такое как возвращаемое значение функции) допустимо в PHP 5.5 +.

empty, несмотря на его имя, на самом деле не проверяет, является ли переменная «пустой». Вместо этого он проверяет, существует ли переменная, или == false. Выражения (например, is_null(null) в примере) всегда будут считаться существующими, поэтому здесь empty проверяет только, равен ли он false. Здесь вы можете заменить empty() на !, например. if (!is_null(null)), или явно сравнить с ложным, например. if (is_null(null) == false).

Вопросы, относящиеся

117
задан Brian Tompsett - 汤莱恩 17 October 2019 в 10:06
поделиться

6 ответов

Вы не сможете сделать это легко с плоскостью JavaScript. При регистрации формы исходные данные формы отправляются на сервер, и страница обновлена - данные обрабатываются на стороне сервера. Таким образом, эти submit() функция ничего на самом деле не возвращает, она просто отправляет данные формы на сервер.

, Если Вы действительно хотели получить ответ в JavaScript (без обновления страницы), затем необходимо будет использовать Ajax, и когда Вы начнете говорить об использовании Ajax, Вы будете потребность для пользований библиотекой. jQuery является безусловно самым популярным, и мой любимый. Существует большой плагин для jQuery, названного Форма , который сделает точно, что это кажется, что Вы хотите.

Вот то, как Вы использовали бы jQuery и что плагин:

$('#myForm')
    .ajaxForm({
        url : 'myscript.php', // or whatever
        dataType : 'json',
        success : function (response) {
            alert("The server says: " + response);
        }
    })
;
102
ответ дан nickf 24 November 2019 в 02:06
поделиться

Можно сделать то использование технология Ajax и JavaScript. Взгляните на jQuery и на этот , форма включает . Только необходимо включать два js файла для регистрации обратного вызова для form.submit.

0
ответ дан kgiannakakis 24 November 2019 в 02:06
поделиться

Нет никакого обратного вызова. Это похоже после ссылки.

, Если Вы хотите получить ответ сервера, используйте Ajax или отправьте его на Iframe и захватите то, что появляется там после iframe's onload() событие.

6
ответ дан Diodeus - James MacFarlane 24 November 2019 в 02:06
поделиться

Необходимо использовать Ajax. Представление формы обычно приводит к браузеру, загружающему новую страницу.

0
ответ дан sblundy 24 November 2019 в 02:06
поделиться

Я не уверен, что Вы понимаете то, что отправляет (), делает...

, Когда Вы делаете form1.submit();, информация о форме отправляется на веб-сервер.

WebServer сделает что свое воображаемое сделать и возвратить совершенно новую веб-страницу клиенту (обычно та же страница с чем-то измененным).

Так, нет никакого способа, которым можно "поймать" возврат form.submit () действие.

9
ответ дан Sergio 24 November 2019 в 02:06
поделиться

Альтернатива Ajax должна установить невидимую операцию <iframe> как цель Вашей формы и считать содержание того <iframe> в onload обработчик. Но почему беспокойство, когда существует Ajax?

Примечание: я просто хотел упомянуть эту альтернативу, так как некоторые ответы утверждают, что это невозможно для достижения этого без Ajax.

55
ответ дан Ates Goral 24 November 2019 в 02:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: