У вас есть различные незначительные ошибки, такие как:
document.getElementBy
вместо document.getElementById
billAMT
, упоминается как billAmt
) [ 119]
<DOCTYPE !html>
<html lang="en">
<head>
<title>Tip Calculator</title>
</head>
<body>
<div id="container">
<h1> Tip Calculator</h1>
<div id="calculator">
<form>
<p> Enter bill amount</p>
<input id="billamount" tyle="text" placeholder="Bill Amount">
<p>How was your service?</p>
<select id="servicequality">
<option value="0.3">30% - Amazingly LITT</option>
<option value="0.2">20% - Good</option>
<option value="0.15">15%-Was ight</option>
<option value="0.10">10%- bad</option>
<option value="0.05">5%- Terrible</option>
</select>
</form>
<p>How many people are sharing the bill?</p>
<input id="peopleamount" type="text" placeholder="# of people">
<button type="button" id="calculate">Calculate</button>
</div>
<div id="totalTip">
<sup>[110]lt;/sup><span id="tip">0.00</span>
<small id="each">each</small>
</div>
</div>
<script type="text/javascript">
//this is to calculate tip
function calculateTip() {
var billAmt = document.getElementById("billamount").value;
var serviceQual = document.getElementById("servicequality").value;
var peopleAmt = document.getElementById("peopleamount").value;
//to validate input
if (billAmt === "" || serviceQual == 0) {
alert("please enter numbers");
return;
}
if (peopleAmt === "" || peopleAmt <= 1) {
peopleAmt = 1;
document.getElementById("each").style.display = "none";
} else {
document.getElementById("each").style.display = "block";
}
// to calculate the tip
var total = (billAmt * serviceQual) / peopleAmt;
//to round to two places
total = Math.round(total * 100) / 100;
total = total.toFixed(2);
// to display tip
document.getElementById("totalTip").style.display = "block";
document.getElementById("tip").innerHTML = total;
}
document.getElementById("totalTip").style.display = "none";
document.getElementById("each").style.display = "none";
// to call function
document.getElementById("calculate").onclick = function() {
calculateTip();
};
</script>
</body>
</html>
Вы смотрели на API рыночных данных Google?
Обновление от апреля 2013 г. - API рыночных данных больше не доступен
«данные слишком ценные и их нет по моей цене?»
Исправьте.
Подумайте об этом. Фортуна создается (и теряется) с этой информацией. Вы конкурируете с гигантскими банками и биржевыми услугами. Это компании, имеющие (а) глубокие карманы для покупки, продажи и защиты такого рода информации и (б) стимулы для того, чтобы сохранять эту информацию как можно более конфиденциальной, чтобы усилить свой жесткий контроль над торговлей акциями.
Вы должны быть осторожны. Помимо обычных зависимостей от пользовательского интерфейса веб-сайтов, я получил предупреждение от веб-сайта за это. У них была политика веб-сайта против скрининга экрана, с которой я неожиданно согласился, используя сайт, и они видели мои регулярные посещения сайта.
Я бы порекомендовал IQFeed (платный), esignal (платный) или eoddate.com (бесплатные варианты). My company uses IDC, but I can't seem to find any information on the sub services they offer.
Though I get the impression you are trying to avoid paying for a commercial feed, you need to be careful, you get what you pay for.
Для этого существует множество недорогих услуг. Мне нравится csidata.com.
НО (и это большое но) ..... если вы планируете распространять данные (размещать их на веб-сайте, получать доступ к ним из приложения для iPhone, почти что угодно, кроме использования его на этой машине), вы заплатите большие (например, больше, чем вы можете себе представить) баксы.
Биржи зарабатывают деньги, продавая эти данные.
Если вы планируете ведя бизнес, не планируют иметь возможность очищать Yahoo или где-то еще и распространять это. Как только они обнаружат вас, вас отключат.