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