Число в js
Код жс
Код:
function draw() {
var first = document.getElementById("first").valueOf();
var second = document.getElementById("second").valueOf();
var third = document.getElementById("third").valueOf();
var fourth = document.getElementById("fourth").valueOf();
pieChart("canvas", [first, second, third, fourth], 200, 200, 150,
[0xff0000, 0x0000ff, 0xffff00, 0x00ff00], // Цвета – это целые
["North", "South", "East", "West"],
400, 100);
}
var first = document.getElementById("first").valueOf();
var second = document.getElementById("second").valueOf();
var third = document.getElementById("third").valueOf();
var fourth = document.getElementById("fourth").valueOf();
pieChart("canvas", [first, second, third, fourth], 200, 200, 150,
[0xff0000, 0x0000ff, 0xffff00, 0x00ff00], // Цвета – это целые
["North", "South", "East", "West"],
400, 100);
}
Так вот в параметры фукции pieChart (...)не приходит число.В консоли ошибок нет.
Не нужно приводить _объект_ к значению. Просто в функцию предайте значение value а не valueof.
Цитата:
var first = document.getElementById("first").valueOf();
var first = parseInt(document.getElementById("first").value);
или
var first = parseFloat(document.getElementById("first").value);
Код:
// Эта функция вызывается в результате щелчка на кнопке Нарисовать!
function draw() {
var first = parseInt(document.getElementById("first").value);
var second = parseInt(document.getElementById("second").value);
var third = parseInt(document.getElementById("third").value);
var fourth = parseInt(document.getElementById("fourth").value);
if(first == 0 || first == null) first = 12;
if(second == 0 || second == null) second = 23;
if(third == 0 || third == null) third = 34;
if(fourth == 0 || fourth == null) fourth = 65;
pieChart("canvas", [first, second, third, fourth], 200, 200, 150,
[0xff0000, 0x0000ff, 0xffff00, 0x00ff00], // Цвета – это целые
["North", "South", "East", "West"],
400, 100);
}
function draw() {
var first = parseInt(document.getElementById("first").value);
var second = parseInt(document.getElementById("second").value);
var third = parseInt(document.getElementById("third").value);
var fourth = parseInt(document.getElementById("fourth").value);
if(first == 0 || first == null) first = 12;
if(second == 0 || second == null) second = 23;
if(third == 0 || third == null) third = 34;
if(fourth == 0 || fourth == null) fourth = 65;
pieChart("canvas", [first, second, third, fourth], 200, 200, 150,
[0xff0000, 0x0000ff, 0xffff00, 0x00ff00], // Цвета – это целые
["North", "South", "East", "West"],
400, 100);
}
[HTML]if(first == 0 || first == null) first = 12;[/HTML]
идентично
[HTML]if(!first) first = 12;[/HTML]
ИЛИ: маленький совет, попробуй научится кодить таким вариантом. Если научишься, то жизнь станет намного проще, как и сопутствующий ей код ;)
[HTML]
pieChart("canvas", [ (first?first:12), (second?second:23), (third?third:34), (fourth?fourth:65)], 200, 200, 150,[/HTML]
Подробнее: http://forum.codenet.ru/threads/69030-%D0%9E-%D1%84%D0%B8%D1%88%D0%BA%D0%B5-(-)-%D0%B8%D0%B1%D0%BE-%D0%BE%D0%B1-%D1%8D%D1%82%D0%BE%D0%BC-%D0%BA%D1%80%D0%B0%D0%B9%D0%BD%D0%B5-%D1%80%D0%B5%D0%B4%D0%BA%D0%BE-%D0%BF%D0%B8%D1%88%D1%83%D1%82-%D0%B2-%D0%B8%D0%BD%D0%B5%D1%82%D0%B5.-%D0%94%D0%BB%D1%8F-%D1%82%D0%B5%D1%85-%D0%BA%D1%82%D0%BE-%D0%BD%D0%B5-%D0%B7%D0%BD%D0%B0%D0%B5%D1%82?p=361356#post361356
Цитата: vorobej
ИЛИ: маленький совет, попробуй научится кодить таким вариантом. Если научишься, то жизнь станет намного проще, как и сопутствующий ей код ;)
[HTML]
pieChart("canvas", [ (first?first:12), (second?second:23), (third?third:34), (fourth?fourth:65)], 200, 200, 150,[/HTML]
Ещё более маленький совет (javascript only!) :-):
[HTML]
pieChart("canvas", [ (first || 12), (second || 23), (third || 34), (fourth || 65)], 200, 200, 150,[/HTML]
Цитата:
pieChart("canvas", [ (first || 12), (second || 23), (third || 34), (fourth || 65)], 200, 200, 150,
А он разве не вернет просто true вместо числа?
(http://beta.javascript.ru/tutorial/logical-ops - заглядывайте иногда на этот сайт! это проще, чем копаться в ECMA-script :-))
Ух ты.. Нереально крутая статья! Я никогда логические операторы вне if не применял. А вот теперь буду +) Спасибо!