javascript表单提交问题停止链接流

javascript form submit problem stopping link flow

本文关键字:链接 表单提交 问题 javascript      更新时间:2023-09-26

我有一个表单,我想跟踪它是否脏,如果是,如果用户点击链接离开页面,我想提示他们保存,理想情况下我想把url传递给服务器,如果服务器保存有效,它会重定向url,如果不有效,它就会返回到带有验证错误的同一页面。

这是我的代码:

var isDirty;
isDirty = 0;
function setDirty() {
        isDirty = 1;
}
function checkSave() 
{
    var sSave;
    if (isDirty == 1) 
    {
      sSave = window.confirm("You have some changes that have not been saved. Click OK to save now or CANCEL to continue without saving.");
      if (sSave == true) 
      {
        $('submitted_by_javascript').value = "true";
        $('main-edit-form').submit();
        return false;
      } 
      else
      {
        return true;
      }
    }
}
<a href="/registrar_data_forms/41/contacts/71/edit" onclick="checkSave();">Edit</a>

我的问题首先是,即使我从checkSave()函数返回false,页面仍然会重定向到单击的链接。

奇怪的是,有时表单被提交,工作,然后链接被跟踪。有时链接只是被关注,而表单从未真正提交。。。

在您的<a>标记,将onclick处理程序更改为:

onclick="return checkSave();"

除非onclick显式返回false,否则将跟随href,因此需要传递checkSave()的返回值。

我认为您需要明确地从onclick:返回一些东西

onclick="return checkSave();"

以防止导航