JavaScript_製作簡易QQ聊天介面
題目:
製作一個簡易聊天介面,當用戶在介面下方的文字框中輸入資訊後,點擊發送按鈕,文字框中的資訊傳送到介面中部的資訊顯示區域,同時資訊輸入文字框中的資訊被清空,等待下次資訊錄入。資訊從上往下一條條顯示。
操作介面如下圖所示:
題目分析:
1.使用者輸入資訊,需要文字框text;
2.確定輸入的資訊後,點擊發送按鈕,即button按鈕;
3.文字框的資訊將顯示在資訊顯示區域textarea,或者div,本文將使用textarea;
4.單擊發送按鈕之後,文字框中上條內容應被清空;
程式碼分析:
<body>
<form id="myform" method= "post">
<textarea id="mytext" rows="15" cols="40"></textarea><br>
<div id="mydiv">
<span id="name">丫丫:</span>
<input type="text" name="message" id="message">
<input type="button" value="傳送" id="submit">
</div>
</form>
</body>
此部分程式碼功能為:在HTML頁面中呈現出基本的操作介面;
設定textarea大小為 rows=“15” cols=“40” ;
此模組中的div標籤作用在於為輸入本文框,按鈕設定背景色;
<style type="text/css">
#mydiv
{
background-color: pink;
width:300px;
}
#mytext
{
border:2px pink dotted;
text-align: left;
}
</style>
為介面設定 css 樣式;
1.#mydiv :為id號為“ mydiv ” 的元素設定樣式;
2.#mytext :為id號為“ mytext ” 的元素設定樣式;
border:2px pink dotted;
text-align: left;
border:設定 2畫素大小 粉色 點狀邊框;
內容顯示為居左;
<script type="text/javascript">
window.onload = function()
{
var aname = document.getElementById("name");
var amessage = document.getElementById("message");
var amytext = document.getElementById("mytext");
var asubmit = document.getElementById("submit");
asubmit.onclick = function()
{
amytext.value += aname.innerText + amessage.value +"\n\n" ;
amessage.value = "";
}
}
</script>
window.onload = function(),當頁面載入之後開始編譯;
因為,文字域顯示的內容是追加一條一條的,故用 += 賦值;
aname.innerText :
name的獲取通過.innerHTML獲取,也可用.innerText,區別在於.innerHTML中從物件的起始位置到終止位置的全部內容,包括Html標籤;而.innerText 去除了Html標籤(可以理解為樣式)
var asubmit = document.getElementById("submit");
asubmit.onclick = function(){ }
首先獲取傳送按鈕動作,為此動作新增事件,具體事件內容寫在大括號{ }中;
amessage.value = "";
此條語句的作用在於,將每次文字框中的內容傳送之後,自動清空上條內容,為接收下調內容做準備;若沒有此條語句,則會出現以下情況:
圖中用紅色筆圈出部分!
原始碼
<!DOCTYPE html>
<html>
<head>
<title>QQChat</title>
<meta charset="utf-8">
<style type="text/css">
#mydiv
{
background-color: pink;
width:300px;
}
#mytext
{
border:2px pink dotted;
text-align: left;
}
</style>
<script type="text/javascript">
window.onload = function()
{
var aname = document.getElementById("name");
var amessage = document.getElementById("message");
var amytext = document.getElementById("mytext");
var asubmit = document.getElementById("submit");
asubmit.onclick = function()
{
amytext.value += aname.innerHTML + amessage.value +"\n\n" ;
amessage.value = "";
}
}
</script>
</head>
<body>
<form id="myform" method="post">
<textarea id="mytext" rows="15" cols="40"></textarea><br>
<div id="mydiv">
<span id="name">丫丫:</span>
<input type="text" name="message" id="message">
<input type="button" value="傳送" id="submit">
</div>
</form>
</body>
</html>
此程式碼完全個人編寫,有不妥之處,請見諒!