2017-01-11 25 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吗?无论如何,我可以防止这种情况发生吗? –