Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Передача значения javascript в php submit (https://javascript.ru/forum/events/70426-peredacha-znacheniya-javascript-v-php-submit.html)

MRJ 04.09.2017 13:53

Передача значения javascript в php submit
 
Вопрос такой: В шаблоне html который подключается к php файлу есть javascript подсчет символов, можно как-то передать/отправлять конкретное число из результата 'dlina' в php файл при отправке формы? Заранее спасибо за ответ!


<script language="javascript">
function schet()
{
var text = document.getElementById('text');
var content = text.value;
var dlina = content.replace(/(<\/?[^>]+>)|(\s)/g, '').length;
var total = document.getElementById(total');
total.innerHTML = '{$lng['total']} ' + dlina;
}
</script>


<span id="total">{$lng['total']} 0</span>
<textarea name="innertext" onkeyup="schet()" id="text">{$innertext}</textarea>

laimas 04.09.2017 14:06

Цитата:

Сообщение от MRJ
можно как-то передать/отправлять конкретное число из результата 'dlina' в php файл при отправке формы?

Конечно можно - на сервер принимайте данные формы в массиве соответствующего метода запрос и ....

Только для этого total нужно помещать в поле формы тоже (достаточно скрытого). Странно только что это значение получается из определенного сервером же, а потом возвращается ему, что сам сервер посчитать не может?

MRJ 04.09.2017 14:17

Цитата:

Сообщение от laimas (Сообщение 463633)
Конечно можно - на сервер принимайте данные формы в массиве соответствующего метода запрос и ....

Только для этого total нужно помещать в поле формы тоже (достаточно скрытого). Странно только что это значение получается из определенного сервером же, а потом возвращается ему, что сам сервер посчитать не может?

Подсчет символов никак не связан с php файлом, серверу не передается значение подсчитанных символов. Или что вы имели ввиду?

Сейчас все работает проще: Пользователь вводит в форме текст и js на странице подсчитывает символы, но никуда результат не отправляет, отправляется серверу только данные формы, текст и т.д.

laimas 04.09.2017 14:26

Цитата:

Сообщение от MRJ
Или что вы имели ввиду?

{$innertext} это замещает сервер неким текстом. Клиент что-то вводит, количество введенного подсчитывается и отображается.

А что сервер не в состоянии посчитать сколько символов в тексте полученного формой? Какие проблемы, если форма передается методом POST, то длину (количество символов, включая и переносы строк) серверу определить раз плюнуть:

$len = strlen(trim($_POST["innertext"]));
//или если UTF, то
$len = mb_strlen(trim($_POST["innertext"]), "UTF-8");


Нафига ему нужные от клиента расчеты.

MRJ 04.09.2017 14:29

О благодарствую, можно же и так )

Я не совсем подробно объяснил. Этот подсчет отображается исключительно для осведомления пользователя, то есть серверу он не нужен был до того момента, пока я не решил добавить другую функцию :)

laimas 04.09.2017 14:36

Цитата:

Сообщение от MRJ
О благодарствую, можно же и так

Не можно, а нужно, зачем по таким мелочам спрашивать клиента.


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