我有重页加载的问题。
HTML
<form onsubmit="return commentForm()">
<input type="text" id="text">
<input type="checkbox" id="check" name="check">
<input type="submit" value="Comment" class="txt2">
</form>
<p id="demo"></p>
的Javascript
function commentForm() {
var x = document.getElementById('check').checked;
var y = document.getElementById('text').value;
if (y == null || y == "") {
alert('please enter some value');
return false;
}
if (x == false) {
alert('Please check the checkbox')
return false;
}
else {
document.getElementById('demo').innerHTML += document.getELementById('text').value + "<br>";
return true;
}
}
我的问题是,当我提交页面时,它正在重新加载而不是复制文本 请帮帮我。
答案 0 :(得分:2)
试试这个。我将按钮从提交输入更改为仅按钮输入,以便它只运行脚本。您不希望表单提交,这需要重新加载页面以将表单“提交”到服务器。您还需要从文本输入中获取value
:
document.getElementById('demo').innerHTML += document.getElementById('text').value + "<br>
但是既然你已经把这个值放到var text
中,那么你可以重用那个变量。此外,您没有检查复选框是否已选中,因为它正在查看两个输入的变量x
。试试这个:
function commentForm() {
var checkBox = document.getElementById('check').checked;
var text = document.getElementById('text').value;
if (!text) {
alert('please enter some value');
return false;
}
if (!checkBox) {
alert('Please check the checkbox')
return false;
} else {
document.getElementById('demo').innerHTML += text + "<br>";
return true;
}
}
<form>
<input type="text" id="text">
<input type="checkbox" id="check" name="check">
<input type="button" value="Comment" class="txt2" onclick="return commentForm()">
</form>
<p id="demo"></p>
答案 1 :(得分:0)
function commentForm() {
var checkbox = document.getElementById('check').checked;
var text = document.getElementById('text').value;
if (!text) {
alert('please enter some value');
return false;
}
if (!checkbox) {
alert('Please check the checkbox');
return false;
}
else {
document.getElementById('demo').innerHTML += text + "<br>";
return false;
}
}
<form onsubmit="return commentForm()">
<input type="text" id="text">
<input type="checkbox" id="check" name="check">
<input type="submit" value="Comment" class="txt2">
</form>
<p id="demo"></p>
如果您希望不重定向页面,可以使用return false
语句中的else
。