[英]form won't submit
我的表单提交有问题,这是交易。 我正在创建一个图片网站,我想为每张图片创建评论,所以我有一个锚点链接,当单击该链接时会显示评论表单,即将html加载到最初不在其中的网页中,因此页面内加载的表单未提交。
动态加载到网页中的表单是否可能无法提交? 还有什么其他问题呢? 我什至尝试在已加载的内容中放入<a href="#" id="test">Click me</a>
之类的内容,然后添加了
$("#test").click(function(){
alert("SOMETHING");
});
到我的JavaScript,它也不会警报..我在做什么错?
编辑
好的,这是我如何加载表格..
我在图片下方有一个锚链接:
<a href="javascript:;" onclick="showComments('22');" class="answer_comment">Add image content</a>
这是外部文件准备功能的javascript:
function showComments(post){
var xHTML = "<div class=\"addComment\">";
xHTML += "<form action=\"<?=base_url()?>images/post_comment/" + post + "\" method=\"post\" id=\"comment_form\" name=\"comment_form\">";
xHTML += "<input type=\"hidden\" id=\"comment_post_id\" name=\"comment_post_id\" value=\"" +post + "\"/>";
xHTML += "<textarea name=\"comment_text\" class=\"comment\" rows=\"8\" cols=\"40\"></textarea>";
.....
像这样我填写我的评论表格..需要更多代码吗?
在您的情况下,还必须装配动态加载的元素以发出警报,您需要:
$("#test").live('click', function() {
alert("SOMETHING");
});
这将触发任何id="test"
元素,无论是否已加载ajax。 您想要使用的任何处理程序都应使用相同的样式。 阅读.live()
文档以获取全文...基本上,它位于根DOM级别上,以侦听单击并对其进行操作,因此在定义事件处理程序时,它并不关心存在或不存在的内容,这就是您要动态加载的内容。
您不需要在函数()之后加上{
吗?
第三行中的}' before the
;` }' before the
吗?
$("#test").click(function() {
alert("SOMETHING");
});
使用AJAX提取表单通常不是问题。
想到为什么表单无法提交的唯一原因:
这是无效的HTML-应该可以使用Firebug找出来
提交时,您正在通过其ID(例如$('#comment_form').submit();
)来解决该问题,该操作失败是因为该ID已经存在一些元素。 要确定是否是这种情况,请尝试在表单内部注入普通的<input type=submit>
,然后查看是否可行。
您将其注入到另一个<form>
元素中-易于使用Firebug找出
最后,您要在代码中添加额外的{
:
$("#test").click(function()
alert("SOMETHING");
{);
请更正该问题,如果仍然无效,请尝试使用适用于当前和将来元素的live
方法进行此操作。
$("#test").live('click', function(){
alert("something");
});
另外,请确保如果有多种形式,它们不会重叠。
动态添加的表单的行为应与原始html中的行为相同。 确保在添加元素之后添加事件处理程序,或使用live方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.