2013-01-03 88 views
1

我是HTML5和JavaScript的新手。 我想要一个警告框来显示数据(名字和姓氏)。 必须从表格上的文本框中获取数据。 我的代码在下面,但alertbox不起作用。html5基本警报和文本框

<!DOCTYPE html> 
<html> 
<body> 

<form action="demo_form.asp" method="get"> 
First name: <input type="text" name="fname" /><br> 
Last name: <input type="text" name="lname" /><br> 

</form> 
<script> 
function display_alert() 
    { 
    alert(fname +lname); 
    } 
</script> 

<input type="button" onclick="display_alert()" value="Display alert box"> 

</body> 
</html> 

回答

1

您需要在脚本中使用getElementsByName函数获取值。

尝试更改下面的脚本。

<script> 
    function display_alert() 
    { 
    var fname = document.getElementsByName("fname")[0].value; 
    var lname = document.getElementsByName("lname")[0].value; 
    alert(fname + ' ' + lname); 
    } 
</script> 

注:只是为了您的信息,有一个与HTML5这个没有关系。

+1

这会记录:'[Object HTMLTextAreaElement] [Object HTMLTextAreaElement]'。你忘了'.value'。 另外,我建议添加一个'getElementById'的例子。 – Cerbrus

+0

谢谢。非常遗憾。实际上,我想创建一个HTML小部件。现在我正在尝试学习html逻辑。我不能直接分开html和html5。 – user1942359

2

你需要给IDS来输入标签

<form> 
     <input id="a" type="text"/> 
     <input id="b" type="text"/> 
     <input type="button" onclick="display_alert();" /> 
    </form> 

,然后用它们的js代码里面:

<script lang="javascript"> 
    function display_alert() { 
     var fn = document.getElementById('a'); 
     var ln = document.getElementById('b'); 
     alert(fn.value + ' ' + ln.value); 
    } 
</script> 
+0

也许是时候得到并使用jquery :) –

+0

感谢您的帮助。它正在工作 – user1942359

2

您可以使用jQuery。

HTML:

First name: <input type="text" id='fname' /><br> 
Last name: <input type="text" id='lname'/><br> 
<input type="button" onclick="display_alert();" value="Display alert box"> 

脚本:

function display_alert() { 
    fname = $('#fname').val(); 
    lname = $('#lname').val(); 
    alert(fname+' '+lname); 
}​ 

demo

jQuery的可能是对未来有益的。

+3

不要在简单的JS问题上提示jQuery,特别是如果问题没有用jq标记。 – Cerbrus

+0

为Cerbrus +1。我同意他的观点。 – karthik

+1

@Cerbrus,jquery将来应该使用。这就是为什么我建议'jquery'。 – KarSho