javascript - 让按钮 onclick 调用函数而不是表单操作

标签 javascript html

我编写了一个由 button.onclick() 事件调用的 JavaScript 函数,但该函数未被调用。相反,我的表单操作被执行。

HTML:

<form id = "Documents" action="Uploaded.php">
<input type="submit" id="Remove1" name="Remove[1]" value="Remove first" onclick="return Remove('Remove1');">
<input type="submit" id="Remove2" name="Remove[2]" value="Remove second" onclick=" return Remove('Remove2');">
</form>

更新了 JavaScript:

function Remove(currentDoc)
{
if (window.XMLHttpRequest)
      {
  xmlhttp=new XMLHttpRequest();
  }
else
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("Removemsg").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","functions/remove.php?Doc="+currentDoc,true);
xmlhttp.send();

    return false;
}

它调用uploaded.php而不是我的remove.php。但我已经定义了 onclick 函数来调用 remove.php。请指教。

最佳答案

函数remove()添加一个return false;语句以防止表单提交。

而且您的 onclick="Remove()" 应该是 onclick="return Remove();"

你的JS代码也有错误

function Remove(currentDoc)
{
if (window.XMLHttpRequest)
  xmlhttp=new XMLHttpRequest();
else
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("Removemsg").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","functions/remove.php?Doc="+currentDoc,true);
xmlhttp.send();

    return false;
}

关于javascript - 让按钮 onclick 调用函数而不是表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451929/

相关文章:

javascript - typescript :从方法参数中调用方法

javascript - 如何将触发器从 input[type ="file"] 更改为 span 标记?

javascript - 如何解析 api.themoviedb.org 返回的 JSONP 响应?

html - Windows Phone 中的固定宽度视口(viewport)

javascript - 禁用单击后更改图例上的光标

javascript - 构建 Angular JS Web 项目

javascript - 一次又一次使用相同的查询选择器是否会产生性能成本?

Jquery 如果 span[itemprop=employmentType] 有 = 特定的文本/输出

php - 允许特定文件类型?上传

javascript - 使用 animate.css 库和 jquery mobile 实现页面转换