HTML表单提交3次,但JavaScript不起作用

HTML表单提交3次,但JavaScript不起作用,javascript,php,html,forms,Javascript,Php,Html,Forms,我正在将BBCodes部分写入我的论坛,因此我有三个提交按钮:一个用于颜色选择器,一个用于插入键入的url,另一个用于实际发布论坛 我在onclick中使用按钮:url和颜色选择器在将文本插入文本区域时使用提交按钮,最终提交发布表单。按final submit(最终提交)时,出现以下错误: 未捕获的TypeError:document.getElementById(…).submit不是函数 p、 为了减少html下的代码量,我删除了简单BBCodes的大部分 注意:我有另一个类似的发布类,它还

我正在将BBCodes部分写入我的论坛,因此我有三个提交按钮:一个用于颜色选择器,一个用于插入键入的url,另一个用于实际发布论坛

我在onclick中使用按钮:url和颜色选择器在将文本插入文本区域时使用提交按钮,最终提交发布表单。按final submit(最终提交)时,出现以下错误:

未捕获的TypeError:document.getElementById(…).submit不是函数

p、 为了减少html下的代码量,我删除了简单BBCodes的大部分

注意:我有另一个类似的发布类,它还没有添加bbcodes,用于发布表单的javascript工作得非常好-因此我猜是3个提交按钮导致了这一点

html:

URL提交按钮js:

function bburlpick() 
{
    var e = document.getElementById("url_div");
    var text = document.getElementById("post_text").value;
    var url = document.getElementById("url_input").value;
    var url_title = document.getElementById("url_input_title").value;

    if (url_title == "")
    {
        var bburl = "[url]" + url + "[/url]";
    }
    else
    {
        var bburl = "[url=" + url + "]" + url_title + "[/url]";
    }
    text += bburl;
    document.getElementById("post_text").value = text;
    document.getElementById("post_text").focus();
    e.style.display = "none";
}
颜色提交按钮:

function forumssubmit() 
{
    var subject = document.getElementById("subject").value;
    var text = document.getElementById("post_text").value;

   if(subject=="" || text=="")
   {
       alert('Please fill in the subject and text');
       return false;
   }
   return true;
}

function topicPostSubmit()
{
  if(forumssubmit())
  {
    document.getElementById("postingTopicSub").submit(); //This is where the error is coming
  }
}
function bbcolor() 
{
    var text = document.getElementById("post_text").value;
    var color = document.getElementById("color").value;
    var bbcolor = "[color=" + color + "][/color]";
    text += bbcolor;
    document.getElementById("post_text").value = text;
    document.getElementById("post_text").focus();
}

问题是您将其他按钮命名为与
submit
相同的形式,因此错误不是获取
.submit()
它正在获取对
提交按钮的引用
当然这些按钮不是
功能
,因此请尝试将它们重命名为不同的名称,然后尝试

问题是您已将其他按钮命名为与
提交
相同的格式,因此错误不是获取
提交()
它正在引用
提交按钮
当然这些按钮不是
功能
,因此请尝试将它们重命名为不同的名称,然后尝试更改

<input type="button" name="submit" value="Pick" onclick="bbcolor();">


问题是您的按钮名为“提交”

“submit不是一个函数”意味着您将submit按钮或其他元素命名为submit。将按钮重命名为btnSubmit,您的通话将正常。只要确保您将所有按钮重新命名为“提交”,您就有很多按钮

看看这个: 改变

<input type="button" name="submit" value="Pick" onclick="bbcolor();">


问题是您的按钮名为“提交”

“submit不是一个函数”意味着您将submit按钮或其他元素命名为submit。将按钮重命名为btnSubmit,您的通话将正常。只要确保您将所有按钮重新命名为“提交”,您就有很多按钮

看看这个:

没有ID为的元素
postingTopicSub
。因此,
document.getElementById(“postingTopicSub”)
null
,您不能在
null
上调用
submit
。除此之外,您不应该将
{
放在单独的行中,因为。这可能会导致将来的损坏。@Chiru,有,第一行代码,必须滚动到它。您有一个带有“name”属性“submit”的按钮。更改按钮的名称,您的代码应该可以工作。Matt,尝试查看页面,它可以帮助您”submit不是一个函数“意味着您将您的submit按钮或其他元素命名为submit。将按钮重命名为BTNSSubmit,您的调用将起作用。只需确保将所有按钮重新命名为“submit”,您就有很多按钮。请检查:没有ID为
postingTopicSub
的元素。因此,
document.getElementById(“postingTopicSub“
null
,您不能在
null
上调用
submit
。除此之外,您不应该将
{
放在单独的行中。这可能会导致将来的中断。@Chiru,有第一行代码,必须滚动到它您有一个带有“name”属性“submit”的按钮。更改按钮名称,您的代码将正常工作。Matt,请尝试查看页面,它可能会帮助您“提交不是功能”意味着您将提交按钮或其他元素命名为“提交”。将按钮重命名为btnSubmit,您的呼叫将正常工作。只需确保将所有按钮重新命名为“提交”,您有很多。请检查:没有意识到名称submit和.submit会冲突。谢谢:)没有意识到名称submit和.submit会冲突。谢谢:)
<input type="button" name="btnSubmit" value="Pick" onclick="bbcolor();">