Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отправка данных (https://javascript.ru/forum/misc/60395-otpravka-dannykh.html)

K_PECT 26.12.2015 16:39

Отправка данных
 
Доброго времени суток! Уважаемые форумчане, очень прошу вас о помощи. Пытаюсь отправить данные в php:

$.ajax({
type: "POST",
url: "send.php",
data: ( {"textfield1" : familiya, "textfield2" : imya, "textfield3" : otchestvo, "textfield4" : adres, "textfield5" : telef, "textfield6" : komment} ) })


Но при этом необходимо исключить пустые значения. Т.е. если, например, переменная otchestvo пуста, то не передавать ее.
Спасибо!

laimas 26.12.2015 16:43

Ну если данные явно прописаны в свойстве data (только зачем же в скобках?), то зачем же пустые туда вставлять? Да и вообще, если каждое пустое так выкидывать, то что это за правила? Данные могут быть либо обязательные, либо нет, если же на сервере не нужно учитывать пустые (необязательные), то их оччеь просто отбросить.

K_PECT 26.12.2015 16:59

Вас понял! Спасибо! Но все же есть ли способ?

laimas 26.12.2015 17:09

Есть - а) не прописывать их, если они указываются явно как приведено в примере, б) обходом в цикле полей формы выбирать на отправку только заполненные поля, в) не заниматься ерундой и, если, есть нобходимость отбросить пустые необязательные поля на сервере, то серверу это и делать - $data = array_diff(array_map('trim', $_POST), ['']).

K_PECT 26.12.2015 17:23

Что вернет $data = array_diff(array_map('trim', $_POST), [''])?
Как разложить потом на переменные: textfield1,textfield2 и т.д.?

K_PECT 26.12.2015 17:50

как отправить в бд только не пустые переменные? покажите, пожалуйста!

laimas 26.12.2015 18:39

Цитата:

Сообщение от K_PECT
Что вернет $data = array_diff(array_map('trim', $_POST), [''])?

А выполнить этот пример с массивом, в котором есть пустые значения и значения только из одних пробелов, религия не позволяет? :)
Ну вы же используете язык программирования, значит надо изучать его инструменты и уметь выбирать нужные для решения задач:

http://fi2.php.net/manual/ru/function.trim.php
http://fi2.php.net/manual/ru/function.array-map.php
http://fi2.php.net/manual/ru/function.array-diff.php

и после прочтения - что же вернет эта операция?

А в случае, если данные формы, это многомерный массив, то ведь есть http://fi2.php.net/manual/ru/functio...-recursive.php, его можно использовать?

Цитата:

Сообщение от K_PECT
Как разложить потом на переменные: textfield1,textfield2 и т.д.?

Вы хотя бы раз после приема формы выполните:

<pre>
<?
print_r($_POST)
?>
</pre>


и такого вопроса больше возникать не будет.

Цитата:

Сообщение от K_PECT
как отправить в бд только не пустые переменные?

Я уже показал.


Часовой пояс GMT +3, время: 13:10.