Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите что делать со скриптом (https://javascript.ru/forum/misc/2025-podskazhite-chto-delat-so-skriptom.html)

Rush 22.10.2008 13:19

Подскажите что делать со скриптом
 
Скажите если у меня есть текстовое поле в которую я допустим ввожу сумму, в скрипте мне необходимо сделать так чтоб к сумме которую я ввел в поле должна прибавиться еще одна сумма. Как это сделать? когда я пробую вторая сумма прибавляется не как число а как строка.


Вот код страници!



function strsum(i5)
      {
        var a = document.getElementById("sum").value;
        var b = a+30;
        document.getElementById('itog').innerHTML=b; 
        countsum = 1;
      if (i5!="")
      {
        if (i5.search(/^([0-9]{1,5})\.([0-9]{1,2})$/) == -1)
        {
          document.getElementById('sum').style.backgroundColor="#FDA5A7";
          document.getElementById('err6').style.display="inline";
          document.getElementById('err6').style.fontWeight="bold";
          document.getElementById('err6').style.color="red";
          document.getElementById('err6').innerHTML="   Ошибка!";
          countsum = 1;
        }
        else
        {
          document.getElementById('sum').style.backgroundColor="#FFFFFF";
          document.getElementById('err6').style.display="inline";
          document.getElementById('err6').innerHTML="";
          countsum = 0;
        }
      }
      else
      {
       countsum = 1;
       document.getElementById('sum').style.backgroundColor="#FFFFFF";
       document.getElementById('err6').style.display="inline";
       document.getElementById('err6').innerHTML="";
      }
      }


<input type="text" class="input" name="sum" id="sum" onkeyup="strsum(this.value)" />
<span id="itog"></span>


И еще один вопрос если у меня есть php переменная могу ли я ее использовать в javascript и как?

Kolyaj 22.10.2008 13:29

var a = parseInt(document.getElementById("sum").value);

twolf 22.10.2008 14:22

parseInt parseFloat
Цитата:

И еще один вопрос если у меня есть php переменная могу ли я ее использовать в javascript и как?
только если через ajax реализовать передачу данных. иначе никак.

Gvozd 22.10.2008 15:22

Цитата:

Сообщение от twolf
Цитата:

Сообщение от Rush
И еще один вопрос если у меня есть php переменная могу ли я ее использовать в javascript и как?

только если через ajax реализовать передачу данных. иначе никак.

либо генерация скрипта средствами ПХП, и вывод нужного значения по типу
Код:

var qwe=<?=$qwe;?>
а насчет топик-вопроса можно еще так попробовать
var a = document.getElementById("sum").value;
var b = +a+30;//плюс перед 'a' приведет его к числу

Kolyaj 22.10.2008 17:40

Цитата:

Сообщение от Gvozd
var b = +a+30;//плюс перед 'a' приведет его к числу

Говнокода и не такого можно написать.

Gvozd 22.10.2008 20:05

Цитата:

Сообщение от Kolyaj
Цитата:

Сообщение от Gvozd
var b = +a+30;//плюс перед 'a' приведет его к числу

Говнокода и не такого можно написать.

Ну, что понимать под говнокодом
например, я считаю способ приведения типов через ф-ции не очень удобным.
например, если мы приводим к нужному нам типу результат функции(а сам вызов происходит не из window.), и внутри мфункции используется this, то приходится изварщатся при использовании parseInt(), так ка он подменяет область вызова на window.
Кстати,говоря ситуация не надумана.
пришлось столкнутся, когда писал скрипт с применением jQuery.
правда проблема у меня возникла скорее от незнания jQuery, но тем не менее.
к тому же я просто показал альтернативу. в данном случае мы просто экономим пару символов кода, расходуем пару лишних десятков тактов процессора, и не получаем выигрыша в упрощении логики

Kolyaj 22.10.2008 20:31

Цитата:

Сообщение от Gvozd
если мы приводим к нужному нам типу результат функции(а сам вызов происходит не из window.), и внутри мфункции используется this, то приходится изварщатся при использовании parseInt(), так ка он подменяет область вызова на window.

Че?

Dmitry A. Soshnikov 22.10.2008 20:40

Цитата:

Сообщение от Kolyaj
Говнокода

Локальный субъективизм, не более. Конечно, в примере Gvozd'a оно менее читаемо, но вполне хороший пример конструкции языка.

А если уж на то пошло, то Ваш пример выше тоже при желании можно говнокодом назвать, т.к. parseInt(08) уже не сработает (в данном случае надо parseInt(a, 10));

P.S.: еще альтернативой можно Number(str) - примитив / new Number(str) - объект

Kolyaj 22.10.2008 20:45

Цитата:

Сообщение от Dmitry A. Soshnikov
А если уж на то пошло, то Ваш пример выше тоже при желании можно говнокодом назвать, т.к. parseInt(08) уже не сработает

У вас извращенное понятие говнокода. Говнокод -- это не тот код, который не работает, а тот, который плохо читаем.

Zeroglif 22.10.2008 22:19

Цитата:

Сообщение от Kolyaj
Говнокод -- это не тот код, который не работает, а тот, который плохо читаем.

В этом смысле parseInt(str) - тот же говнокод, только ещё возможно и не работающий. ;)


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