2017-01-11 50 views
0

我對JavaScript很陌生,我試圖通過窗體獲取一個表單,然後將這個值返回給他們(現在就在控制檯中)。我也希望它能驗證輸入的值是一個數字。這裏是我的代碼:通過javascript在窗體上返回值

<div class="form"> 
    <form name="firstForm" action="#" onsubmit="results()"> 
    <input type="text" name="inputbox" placeholder="number"/> 
    <input type="submit" name="submit" value="submit"/> 
    </form> 

<script> 
function results(form) { 
    var favNum = form.getElementByName("inputbox").value; 
    if(isNaN(favNum)) { 
    console.log("You didn't enter a number, silly goose!"); 
    } 
else { 
    console.log("Your favorite number is: " + favNum); 
    } 
} 
</script> 

鏈接以供參考:radmint.github.io/wk3-bonus-4fun

,這裏是倉庫github.com/radmint/wk3-bonus-4fun

+0

有一件事,我會親自使用事件監聽器,對我來說感覺有點整潔。 –

+0

我絕對開放更整潔的代碼!我會研究它,謝謝! –

回答

0

您的代碼中存在問題。

首先,您正嘗試在不存在的表單上調用getElementByName。

您需要在文檔上調用它。

其次,它不叫getElementByName,但getElementsByName所以你在那裏缺少複數。

這是一個工作示例。

function results() { 
var favNum = document.getElementsByName("inputbox")[0].value; 
    if(isNaN(favNum)) { 
    console.log("You didn't enter a number, silly goose!"); 
    } 
else { 
    console.log("Your favorite number is: " + favNum); 
    } 
} 

編輯:有想法,此前JS將繼續您的瀏覽器窗口可以通過「刷新」,你將不會看到控制檯輸出。

+0

謝謝!我現在正在嘗試。以下鏈接供參考https://radmint.github.io/wk3-bonus-4fun/,以下是存儲庫https://github.com/radmint/wk3-bonus-4fun –

+0

它適合您嗎?如果是這樣,請接受爲答案。 –

+0

好吧,我正在等待github頁面更新,但不耐煩,並且在本地進行了測試,並且它可以正常工作,所以非常感謝!你知道它爲什麼要添加價值並將'提交'到URL嗎?無論如何,我可以防止這種情況發生嗎? –