Javascript 使按钮onclick调用函数而不是表单操作

Javascript 使按钮onclick调用函数而不是表单操作,javascript,html,Javascript,Html,我已经编写了一个JavaScript函数,由我的按钮.onclick()事件调用,但是没有调用该函数。相反,我的表单操作被执行 HTML: 它调用upload.php,而不是myremove.php。但是我已经定义了我的onclick函数来调用remove.php。请告知。添加返回false语句 而且您的onclick=“Remove()”应该是onclick=“return Remove();” 你的JS代码也是错误的 function Remove(currentDoc) { if (win

我已经编写了一个JavaScript函数,由我的
按钮.onclick()
事件调用,但是没有调用该函数。相反,我的表单操作被执行

HTML:


它调用
upload.php
,而不是my
remove.php
。但是我已经定义了我的
onclick
函数来调用
remove.php
。请告知。

添加
返回false函数remove()
的code>语句

而且您的
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;
}

添加一个
返回false函数remove()
的code>语句

而且您的
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;
}

因为这是一个提交按钮,所以默认情况下,它会将表单提交到action属性中的url

为了防止出现这种情况,您需要在函数末尾返回false:

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

因为这是一个提交按钮,所以默认情况下,它会将表单提交到action属性中的url

为了防止出现这种情况,您需要在函数末尾返回false:

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,那么如果您使用的是JavaScript,则不需要使用

,然后不需要使用

而不是使用
来生成按钮,您还可以使用
标记()

先删除
这将生成一个按钮。通过设置
type=“button”
可以防止默认(
type=“submit”
)触发表单提交。

除了使用
生成按钮外,还可以使用
标记()

先删除

这将生成一个按钮。通过设置
type=“button”
可以防止默认值(
type=“submit”
)触发表单提交。

当您单击提交按钮时,表单提交是很自然的。如果要防止出现这种情况,应该在事件处理程序中返回false。请注意,在remove函数结束时返回false是不够的,您应该这样写:

<input type="submit" id="Remove1" name="Remove[1]" value="Remove first" onclick="return Remove('Remove1')">

您的remove函数应该返回false。
还请注意,ajax编码中存在语义错误。调用xmlhttp对象的open()函数后,应设置onReadyStateChange。访问以获取更多信息

当您单击“提交”按钮时,它很自然地会提交表单。如果要防止出现这种情况,应该在事件处理程序中返回false。请注意,在remove函数结束时返回false是不够的,您应该这样写:

<input type="submit" id="Remove1" name="Remove[1]" value="Remove first" onclick="return Remove('Remove1')">

您的remove函数应该返回false。

还请注意,ajax编码中存在语义错误。调用xmlhttp对象的open()函数后,应设置onReadyStateChange。访问以获取更多信息

您的JS无效:3
{
和5
}
。我认为有一个问题……您的JS无效:3
{
和5
}
。我想有一个问题……我已经为我的定义了一些内容,所以我不想再使用它。我已经为我的定义了一些内容,所以我不想再使用它。你是否有一个有效的
HTML
我对此表示怀疑
name=“Remove[1]”“
,我想,[]在名称中的用法是无效的。即使我删除了[1],它仍然不会发出声音。奇怪:(你是否有一个有效的
HTML
我怀疑这个
name=“Remove[1]”
,我想名称中使用[]是无效的。即使我删除了[1],它仍然不会调用。奇怪:(尝试过了,但它不会调用我的删除函数,即使我没有更改警报('this'));它是否阻止表单提交?它也应该调用您的函数。可能您的某个地方出现javascript致命错误,导致函数未定义。请尝试调试并确定函数定义是否正确以及是否正常工作。使用
警报(1);
替换整个函数体,然后再次检查。尝试:(还尝试调试crtl+shift+i的错误。但没有给出错误。尝试了,但它没有调用我的删除函数,即使我更改了t alert('this'));它是否阻止表单提交?它也应该调用您的函数。可能您的某个地方出现javascript致命错误,导致函数未定义。请尝试调试并确定函数定义是否正确以及是否正常工作。使用
警报(1);
替换整个函数体,然后再次检查。尝试:(并且还尝试调试crtl+shift+i以查找错误。但是没有给出错误。如果您的意思是在Remove()函数体的末尾添加一个
return false
,那么它是不正确的。此外,事件处理程序应该以这种方式更改:
onclick=“return Remove('Remove1')”
已添加,但它仍然自动下载upload.php,而不是调用remove。我的大括号有点乱,很抱歉。它可以工作,但Removemsg没有响应。如果您的意思是在remove()末尾添加一个
返回false,则应该是函数体,它是不正确的。此外,事件处理程序应按以下方式更改:
onclick=“return Remove('Remove1')”
添加了,但它仍然自动下载upload.php,而不是调用remove。我的大括号有点乱,很抱歉。它可以工作,但是removeMG没有响应。它应该是不工作的,因为它是这样的:
onclick=“false”
但正确的是:
onclick=“return false”
它不起作用,因为它是这样的:
onclick=“false”
但正确的答案是:
onclick=“return false”
你的答案不是u