Javascript 提交表单而不重新加载

Javascript 提交表单而不重新加载,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我有问题,我想点击按钮并提交表单,按钮从打开变为关闭。它可以工作,但主要问题是当页面重新加载打开值时,单击后打开值变为关闭,并返回打开值 所以我想让我的页面不重新加载,所以当我点击按钮打开并关闭而不返回打开。这就像我想阻止表单提交后重新加载页面一样,主要问题是阻止提交后重新加载页面,这样按钮在单击后仍保持关闭状态 <!DOCTYPE html> <html lang="en"> <head> <title>asdsadsad</title&g

我有问题,我想点击按钮并提交表单,按钮从打开变为关闭。它可以工作,但主要问题是当页面重新加载打开值时,单击后打开值变为关闭,并返回打开值 所以我想让我的页面不重新加载,所以当我点击按钮打开并关闭而不返回打开。这就像我想阻止表单提交后重新加载页面一样,主要问题是阻止提交后重新加载页面,这样按钮在单击后仍保持关闭状态

<!DOCTYPE html>
<html lang="en">
<head>
<title>asdsadsad</title>

</head>
<form id="form" action="test.html" method="post">
<input onclick="ClickMethod()" type="button" value="Open" id="myButton1">
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
function ClickMethod() {

  document.getElementById("myButton1").value="Close";
  document.getElementById("form").submit();
}
var frm = $('#form');
    frm.submit(function (ev) {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });

        ev.preventDefault();
    });
</script>
</body>
</html>

asdsad
函数ClickMethod(){
document.getElementById(“myButton1”).value=“关闭”;
document.getElementById(“表单”).submit();
}
var frm=$('形式');
提交财务报表(功能(ev){
$.ajax({
类型:frm.attr('method'),
url:frm.attr('action'),
数据:frm.serialize(),
成功:功能(数据){
警报(“正常”);
}
});
ev.preventDefault();
});
试试这个

<!DOCTYPE html>
<html lang="en">
<head>
<title>Your Title</title>
</head>
<form id="form" method="post" action="test.html">
<input onclick="ClickMethod()" type="button" value="Open" id="myButton1">
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
function ClickMethod() {
  document.getElementById("myButton1").value="Close";
  var frm = $('#form');
  $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });
}
</script>
</body>
</html>

你的头衔
函数ClickMethod(){
document.getElementById(“myButton1”).value=“关闭”;
var frm=$('形式');
$.ajax({
类型:frm.attr('method'),
url:frm.attr('action'),
数据:frm.serialize(),
成功:功能(数据){
警报(“正常”);
}
});
}

您需要使用
return false
而不是
ev.preventDefault()
说明:这是否回答了您的问题?没有,先生。这不是我需要的兄弟,但它并没有提交只是更改按钮名称,我甚至添加了method=“post”但没有提交