每个表单中的网页重新提交

时间:2016-05-18 05:47:50

标签: javascript html

我有重页加载的问题。

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;
     }
}

我的问题是,当我提交页面时,它正在重新加载而不是复制文本 请帮帮我。

2 个答案:

答案 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