我想要一个按钮,当点击它时,会打开一个区域来输入消息。我在 HTML 中使用“onclick”,我希望它只能点击一次。我不希望它继续制作更多的文本区域,因为你点击它的次数越多。
在调用该函数的onclick之后,我有一个this.onclick="null" 。这一直在工作,直到我添加了提交按钮。
所以这段代码有效:
HTML:
<html>
<head>
<script type="text/javascript" src="js/question.js"></script>
<style type="text/css">
#container {
position: absolute;
height: 443px;
width: 743px;
border: 1px solid black;
border-radius: 0 0 20px 0;
margin-top: 75px;
}
</style>
</head>
<body>
<div id="container"></div>
<button id="new_message" onclick="createMessage(), this.onclick=null;">New Message</button>
</body>
</html>
Javascript:
function createMessage() {
var form = document.createElement("form");
form.name = "form_input";
form.method = "POST";
form.action = "messages.php";
container.appendChild(form);
var textarea = document.createElement("textarea");
textarea.name = "message_input";
textarea.cols = 84;
textarea.rows = 16;
textarea.id = "message_input";
container.appendChild(textarea);
};
但是当我保持 HTML 不变并将提交按钮添加到 javascript 时,如下所示:
function createMessage() {
var form = document.createElement("form");
form.name = "form_input";
form.method = "POST";
form.action = "messages.php";
container.appendChild(form);
var textarea = document.createElement("textarea");
textarea.name = "message_input";
textarea.cols = 84;
textarea.rows = 16;
textarea.id = "message_input";
container.appendChild(textarea);
var submit = document.createElement("button");
submit.innerHTML = 'Send';
submit.id = 'send_message';
container.appendChild(submit);
submit.onClick(messageAjax());
};
它再次开始复制。有什么办法可以防止这种情况发生吗?
谢谢你的帮助!