2016-10-22 17 views
-2

我參加了一個在線課程,我一直在閱讀我的書中關於js包含的部分,我無法弄清楚這一點。有人可以向我解釋我做錯了什麼。我試圖調用函數來獲取重量並將計算結果顯示在表單文本框中。我無法找到任何這樣的互聯網或解釋它是如何工作的。爲什麼不是這僅僅是可以像C++ :(使用表單調用JavaScript,然後將計算值放到表單中

<!DOCTYPE html> 
<html> 
<script> 
    function Weight() 
    { 
    var mercury = earth*(.378); 
    var venus = earth*(.907); 
    var mars = earth*(.377); 
    var jupiter = earth*(2.364); 
    var saturn = earth*(.916); 
    var uranus = earth*(.889); 
    var neptune = earth*(1.125); 
    var pluto = earth*(.067); 
    var sun = earth*(27.072); 
    var moon = earth*(.166); 

    } 
</script> 

<body> 

<form action="javascript:Weight(earth);"> 
    Enter Your Weight on Earth:<br> 
    <input type="text" name="earth"> 
    <br><br> 
    Mercury:<br> 
    <input type="text" name="mercury"> 
    <br> 
    Venus:<br> 
    <input type="text" name="venus"> 
    <br> 
    Mars:<br> 
    <input type="text" name="mars"> 
    <br> 
    Jupiter:<br> 
    <input type="text" name="jupiter"> 
    <br> 
    Saturn:<br> 
    <input type="text" name="saturn"> 
    <br> 
    Uranus:<br> 
    <input type="text" name="uranus"> 
    <br> 
    Neptune:<br> 
    <input type="text" name="neptune"> 
    <br> 
    Pluto:<br> 
    <input type="text" name="pluto"> 
    <br> 
    Sun:<br> 
    <input type="text" name="sun"> 
    <br> 
    Moon:<br> 
    <input type="text" name="moon"> 
    <br> 
    <input type="submit" value="Calculate"> 
</form> 


</body> 
</html> 
+0

它不會奇蹟般地獲得文本框的值的權重值......它也不會神奇地設置。在這種情況下,我仍然不明白爲什麼使用表單提交。 – Li357

+2

*「我無法找到任何這樣的互聯網上的東西,或解釋它是如何工作的*」:那麼你一定在談論不同的互聯網。這實際上是[充滿示例](https://www.google.com/search?q=javascript+html+read+number+from+input)。 – trincot

+0

好的,讓我再試一次這些資源!感謝您的文章! :) –

回答

0

這裏是一個工作演示:

  • 創建包含行星信息
  • 添加的屬性id到提交輸入
  • 附點擊事件submitButton陣列planetArray。在功能方面得到地球輸入值和迭代planetArray並分別計算行星上

var planetsArray = [{name: "mercury",weight: 0.378}, {name: "venus",weight: 0.907}, {name: "mars",weight: 0.377}, {name: "jupiter",weight: 2.364}, {name: "saturn",weight: 0.916}, {name: "uranus",weight: 0.889}, {name: "neptune",weight: 1.125}, {name: "pluto",weight: 0.067}, {name: "sun",weight:27.072}, {name: "moon",weight: 0.166}], 
 
    submitButton = document.getElementById('submit'); 
 

 
// Attach click event 
 
submitButton.onclick = function (e) { 
 
    e.preventDefault(); 
 
    var earth = document.getElementsByName('earth')[0]; 
 
    planetsArray.forEach(function (p) { 
 
     var elem = document.getElementsByName(p.name)[0], 
 
      weight = p.weight * +earth.value; 
 
     elem.value = weight.toFixed(2); 
 
    }); 
 
};
<form action="javascript:Weight(earth);"> 
 
    Enter Your Weight on Earth:<br> 
 
    <input type="text" name="earth"> 
 
    <br><br> 
 
    Mercury:<br> 
 
    <input type="text" name="mercury"> 
 
    <br> 
 
    Venus:<br> 
 
    <input type="text" name="venus"> 
 
    <br> 
 
    Mars:<br> 
 
    <input type="text" name="mars"> 
 
    <br> 
 
    Jupiter:<br> 
 
    <input type="text" name="jupiter"> 
 
    <br> 
 
    Saturn:<br> 
 
    <input type="text" name="saturn"> 
 
    <br> 
 
    Uranus:<br> 
 
    <input type="text" name="uranus"> 
 
    <br> 
 
    Neptune:<br> 
 
    <input type="text" name="neptune"> 
 
    <br> 
 
    Pluto:<br> 
 
    <input type="text" name="pluto"> 
 
    <br> 
 
    Sun:<br> 
 
    <input type="text" name="sun"> 
 
    <br> 
 
    Moon:<br> 
 
    <input type="text" name="moon"> 
 
    <br> 
 
    <input type="submit" value="Calculate" id="submit"> 
 
</form>

0

你好JavaScript不以這種方式,你think.I不能在這裏教給你整個事情的工作,也有大量的信息/文章網上你可以搜索他們,但我可以建議你,你想做的事。檢查下面的代碼有什麼解決辦法希望它有助於

var earth=document.getElementById("earth"); 
 
var mercury=document.getElementById("mercury"); 
 
var venus=document.getElementById("venus"); 
 
var mars=document.getElementById("mars"); 
 

 
document.getElementById("button").onclick = function (e) { 
 
e.preventDefault(); 
 
mercury.value=(earth.value) *(.378); 
 
venus.value=(earth.value) *(.907); 
 
mars.value=(earth.value) *(.377); 
 

 
};
<form name ="my"> 
 
    Enter Your Weight on Earth:<br> 
 
    <input type="text" id="earth" name="earth"> 
 
    <br><br> 
 
    Mercury:<br> 
 
    <input type="text" id="mercury" name="mercury"> 
 
    <br> 
 
    Venus:<br> 
 
    <input type="text" id="venus" name="venus"> 
 
    <br> 
 
    Mars:<br> 
 
    <input type="text" id="mars" name="mars"> 
 
    <br> 
 
    <input type="submit" id="button" value="Calculate"> 
 
</form>

+0

非常感謝你!我走在正確的軌道上!當我回去編輯我去過的文章中的代碼,並將名稱更改爲ID,並通過公式將id放入元素中。我認爲我最大的麻煩是搞清楚如何從窗體調用函數。我非常習慣C++,這太奇怪了,它們都具有合併代碼的所有規則。 –

+0

這太奇怪了。當我在編輯器中運行該代碼時,它不會工作,但是當我點擊它的代碼片段時。 –

+0

你必須使用任何特殊的標籤,該腳本不可見 –

相關問題