2013-01-03 34 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