Java脚本不在Wordpress页面上执行(这是代码中的拼写错误)

时间:2014-10-15 14:27:02

标签: javascript php wordpress

此问题是一个错字

我正在使用Wordpress 4.0网站,并希望在主页上添加自定义计算器。帮助客户计算他们的储蓄。主页的网址为https://northerncrushing.co.uk。我在普通的HTML页面中测试了相同的代码,它工作正常。但就在我使用wordpress页面时,它就会停止工作。我正在使用来自themeforest的Alterna Theme与来自CodeCanyon的WooCommerce和Booking System Pro。这个块位于我的主页上方的页脚右下方。 HTML是

<div><form>
<table>
<tbody>
<tr>
<td>Crusher Hire Rate :</td>
<td>£ <input id="hireRate" disabled="disabled" name="hireRate" type="number" value="160" /></td>
</tr>
<tr>
<td>Tons Crushed per Job :</td>
<td>   <input id="tonesCrushed" name="tonesCrushed" type="number" value="16" /></td>
</tr>
<tr>
<td>No. of skips SAVED :</td>
<td>   <input id="skipsSaved" disabled="disabled" name="skipsSaved" type="number" value="2" /></td>
</tr>
<tr>
<td>Skip Rate :</td>
<td>£ <input id="skipRate" name="skipRate" type="number" value="145" /></td>
</tr>
<tr>
<td>Skip Saving :</td>
<td>£ <input id="skipSaving" disabled="disabled" name="skipSaving" type="number" value="290" /></td>
</tr>
<tr>
<td>Aggregate cost per tonne :</td>
<td>£ <input id="aggregateCost" name="aggregateCost" type="number" value="10" /></td>
</tr>
<tr>
<td>Aggregate SAVED :</td>
<td>£ <input id="aggregateSaving" disabled="disabled" name="aggregateSaving" type="number" value="160" /></td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
</form></div>

<hr />

<strong>Total SAVING : </strong>£ <input id="totalSaving" disabled="disabled" name="totalSaving" type="number" value="290" />
<a href="javascript:calculateSavings4000();">Calculate</a>

现在脚本是:

    <script>
function calculateSavings4000(){
    var hr = document.getElementById("hireRate4000").value;
    var ton = document.getElementById("tonesCrushed4000").value;
    var skiprate = document.getElementById("skipRate4000").value;
    var act = document.getElementById("aggregateCost4000").value;

    var noskips = Math.ceil(ton/8);
    var skipsaving = noskips * skiprate;
    var agrsaved = act * ton;
    var saving = ((agrsaved + skipsaving) - hr);

    var noskip_val = document.getElementById("skipsSaved4000");
    noskip_val.value = noskips;

    var skipsaving_val = document.getElementById("skipSaving4000");
    skipsaving_val.value = skipsaving;

    var agrsaved_val = document.getElementById("aggregateSaving4000");
    agrsaved_val.value = agrsaved;

    var total = document.getElementById("totalSaving4000");
    total.value = saving;   

}
</script>

已经花了好几个小时没有运气。 所有的帮助非常感谢。

1 个答案:

答案 0 :(得分:1)

问题是您的ID选择器设置不正确,例如:

var hr = document.getElementById("hireRate4000").value;

具有该ID的元素不存在,我想你想要这个:

var hr = document.getElementById("hireRate").value;

与其他选择者相同:

    var ton = document.getElementById("tonesCrushed").value;
    var skiprate = document.getElementById("skipRate").value;
    var act = document.getElementById("aggregateCost").value;
    var noskip_val = document.getElementById("skipsSaved");
    var skipsaving_val = document.getElementById("skipSaving");
    var agrsaved_val = document.getElementById("aggregateSaving");
    var total = document.getElementById("totalSaving");