Я сделал небольшой проект для школы на JSFiddle, перенес код в Dreamweaver и он перестал работать. Вот мой код в JSFiddle в разделе HTML, так как это было единственное место, где он работал.
<table>
<tr>
<td>
<p>
<select name="metal" id="metal">
<option value="9CaratGold">9 Carat Gold.</option>
<option value="18CaratGold">18 Carat Gold.</option>
<option value="Silver">Silver.</option>
<option value="Platinum">Platinum.</option>
</select>
</p>
</td>
<td>
<p>
<select name="currency" id="currency">
<option value="GBP">GBP (£)</option>
<option value="EUR">EUR (€)</option>
<option value="USD">USD ($)</option>
</select>
</p>
</td>
</tr>
<tr>
<td colspan="2">
<input maxlength="6" type="number" name="weight" id="weight" style="width:185px;" value="Insert weight (g)">
</td>
</tr>
</table>
<table>
<tr>
<td>
<input type="submit" class="calcButton" id="calcButton" onClick="calcPrices()" value="Get a Quote">
</td>
</tr>
</table>
<p id="quotation"></p>
<script type="text/javascript">
var data;
csv = "9 Carat Gold,18 Carat Gold,Silver,Platinum\n11.87,23.73,0.49,27.52",
$(document).ready(function() {
$.ajax({
type: "POST",
url: "/echo/html/",
dataType: "text",
data: {
html: csv
},
success: function(data) {
processData(data);
}
});
});
function processData(allText) {
var allTextLines = allText.split(/\r\n|\n/);
headers = allTextLines[0].split(',');
lines = [];
for (var i = 1; i < allTextLines.length; i++) {
data = allTextLines[i].split(',');
if (data.length == headers.length) {
var tarr = [];
for (var j = 0; j < headers.length; j++) {
tarr.push(headers[j] + ":" + data[j]);
}
lines.push(tarr);
}
}
}
function calcPrices() {
var weight = document.getElementById('weight').value;
var metal = document.getElementById('metal').value;
var currency = document.getElementById('currency').value;
var metalPrice;
var totalPrice;
var conversionRate;
var conversionSymbol;
if (metal === "9CaratGold") {
metalPrice = data[0];
}
if (metal === "18CaratGold") {
metalPrice = data[1];
}
if (metal === "Silver") {
metalPrice = data[2];
}
if (metal === "Platinum") {
metalPrice = data[3];
}
if (currency === "USD") {
conversionRate = 1.57;
conversionSymbol = "$";
}
if (currency === "EUR") {
conversionRate = 1.23;
conversionSymbol = "€";
}
if (currency === "GBP") {
conversionRate = 1.00;
conversionSymbol = "£";
}
totalPrice = ((metalPrice) * (conversionRate));
totalPrice = ((totalPrice) * (weight));
totalPrice = totalPrice.toFixed(2);
if (weight <= 500 && weight >= 1) {
document.getElementById("quotation").style.color = "black"
document.getElementById("quotation").innerHTML = (('We can offer you ' + (conversionSymbol + totalPrice)) + ' for ' + weight + 'g.');
} else {
document.getElementById("quotation").style.color = "red"
document.getElementById("quotation").innerHTML = "Please insert a weight between 500 and 1 gram.";
}
}
</script>
Вот JSFiddle для справки. http://jsfiddle.net/KieranOM/u3kxomaa/ В JSFiddle кнопка работает отлично; однако локально он ничего не делает при нажатии.
Вот некоторая ключевая информация. И в JSFiddle, и в Dreamweaver у меня включен jQuery 1.8.3. В JSFiddle я отключил onLoad и вместо этого изменил его на
без упаковки - в
Любая помощь в этом будет принята с благодарностью.
c:/
, либо какfile:/
, а не по протоколуhttp
. Для этого вам понадобится работающий локальный/локальный сервер. 17.12.2014