Javascript-调用两个onClick函数

Javascript - Calling two onClick functions

本文关键字:两个 onClick 函数 调用 Javascript-      更新时间:2023-09-26

我的网站上有这个提交按钮。

<form name="bbsform" action="<?=$PHP_SELF?>" method="post"
<input type="submit" value="Submit" onclick="this.disabled=true,this.form.submit();" />
</form>

onClick部分在第一次点击后立即禁用提交按钮,以防止可能的双重提交表单。它非常有效。

我也制作了这个javascript函数。比方说,它被称为"指导(bbsfm)"

简单地说,当用户忘记填写表单中的一个字段时,它会显示一条警告消息,并将重点放在该字段上。(它的工作原理就像某个不可见的光标自动点击字段,这样用户就可以立即开始输入。)这个功能也很好。

他们两个都工作得很好,至少分开工作也很好。

但当我把它们组合成这样时:

onclick="return Guidance(bbsform);this.disabled=true,this.form.submit();"

只有指导功能才能正常工作。

你能告诉我代码出了什么问题吗?

感谢您的阅读。我是整个编程的新手,所以请慷慨一点:)

这是指导功能很抱歉,所有解决方案都无效。。这真的很令人沮丧。

function Guidance(frm){
if(frm.subject.value == ""){
alert("Please complete the title field.");
frm.subject.focus();
return false;  }

try{ content.outputBodyHTML(); } catch(e){ }
 if(frm.content.value == ""){
    alert("Please complete the message field.");
frm.content.focus();    return false;  }

你还必须发布制导功能,但我想你所要做的就是返回带有true的制导功能:

function Guidance(something){
    //do something
    return true;
}

将两个JS放入一个函数中,然后在Click上调用该函数。

删除onclick中的"return",它不会到达第二个部分。

此外,您还应该将不引人注目的javascript作为一种解决方案,然后可以使用匿名函数来执行这两个函数。

onclick="if (Guidance(bbsform)==true) {this.disabled=true;this.form.submit();} else {return false;}"

OP解决方案。

我找不到直接解决问题的正确方法,所以我找到了一个解决方法:)

我找到了另一个函数,并丢弃了'onclick="this.disabled=true,this.form.submit();"'

我发现的新JavaScript函数就是这个函数SubmitCancel()

var submitted = 0;
function submitOnce() {
if(!submitted) {
  submitted ++;
  return true;
 }   else {
  return false;   }}

我将新函数直接调用到表单onSubmit中。

<form name="bbsform" action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data" onsubmit="return submitOnce()">

稍后在提交按钮代码中,我输入引导功能onClick。

<input type="submit" value="Submit" onclick="return Guidance(bbsform);" />

这很完美!无论用户做什么,都不会提交两次。(反复点击Enter键,双击三次,所有用户都只提交一次!)