Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Необходимо подкорректировать скрипт по подсчету стоимости слов. (https://javascript.ru/forum/project/52821-neobkhodimo-podkorrektirovat-skript-po-podschetu-stoimosti-slov.html)

lif3ar 08.01.2015 21:18

Необходимо подкорректировать скрипт по подсчету стоимости слов.
 
Вечер добрый,

Есть скрипт для копирайтеров считающий стоимость написания текста на основе количества символов. Необходимо подкорректировать его так, что бы он считал не стоимость за 1000 символов, а стоимость за 1000 слов.

Вот сам скрипт:

<script type="text/javascript">
var price = 400;
function countChar() {

var is_probel = document.getElementById("is_probel");
var count_char = document.getElementById("count_char");
var count_char_textarea = document.getElementById("count_char_textarea");
var price_out = document.getElementById("price_out");
if (is_probel.checked == false) {
count_char.value = count_char_textarea.value.replace(/ *n*r*t*/g, "").length;
}
else { count_char.value = count_char_textarea.value.length;
}
price_out.innerHTML = (parseInt(count_char.value) / 1000) * price;
}

</script>

И html часть:
<div id="count_char_block">
<textarea id="count_char_textarea" style="width: 600px;height: 300px;"
onchange="countChar()" onkeyup="countChar()" ></textarea><br/>
<input type="text" id="count_char" value="0" readonly="readonly" />
<input type="checkbox" id="is_probel" onchange="countChar()" />
<label for="is_probel">Учитывать пробелы</label>
<div>Стоимость составит: <span id="price_out">0</span> руб.</div>
</div>


---

Как я понимаю там где-то необходимо добавить .split или что то типа того, но вот где, я понятия не имею т.к. в java вообще не разбираюсь. Уже часов 5 на эту фигню убил))) Буду очень благодарен за помощь.:agree:

рони 08.01.2015 21:42

lif3ar,
:cray: если слово это 3 и более букв
<!DOCTYPE HTML>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
</head>

<body>
    <script type="text/javascript">
        var price = 400;

        function countChar() {

            var is_probel = document.getElementById("is_probel");
            var count_char = document.getElementById("count_char");
            var count_char_textarea = document.getElementById("count_char_textarea");
            var price_out = document.getElementById("price_out");

            var len = count_char_textarea.value.match(/[а-яёa-z]{3,}/ig);
            len = len ? len.length : 0;
            count_char.value = len;
            price_out.innerHTML = (len / 1000 * price).toFixed(2);
        }
    </script>

    <div id="count_char_block">
        <textarea id="count_char_textarea" style="width: 600px;height: 300px;" oninput="countChar()"></textarea>
        <br/>
        <input type="text" id="count_char" value="0" readonly="readonly" />

        <div>Стоимость составит: <span id="price_out">0</span> руб.</div>
    </div>


</body>

</html>

lif3ar 08.01.2015 21:55

Спасибо. Скопировал, но почему-то совсем перестало слова считать//

рони 08.01.2015 21:57

lif3ar,
какой браузер?

lif3ar 08.01.2015 22:03

Firefox и в Chrome проверил. В изначальном варианте нормально символы считает, в подкорректированном сам шаблон виден, но подсчет символов не идет.

рони 08.01.2015 22:05

Цитата:

Сообщение от lif3ar
но подсчет символов не идет.

Цитата:

Сообщение от lif3ar
что бы он считал не стоимость за 1000 символов, а стоимость за 1000 слов.

:-?

код считает слова и сумму за эти слова

lif3ar 08.01.2015 22:12

С вышеприведенным скриптом js код почему-то вообще не работает.

рони 08.01.2015 22:24

Цитата:

Сообщение от lif3ar
С вышеприведенным скриптом js код почему-то вообще не работает.

и не будет работать ... если вам нужно чтоб работало и то и то переформулируйте ваше задание и лучше в разделе работа ... вам дали готовое решение того что вы просили ... более ничем помочь немогу

lif3ar 08.01.2015 22:32

Большое спасибо, видимо я чего то недопонимаю)) буду разбираться

lif3ar 08.01.2015 23:13

Понял в чем была проблема))) Я скрипт вставлял в модули компонента для Joomla и он почему-то его не отображал в измененном виде. Вставил прямо в код формы и все нормально заработало))) Спасибо еще раз))


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