Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 许多人的第一份表格在点击后提交_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 许多人的第一份表格在点击后提交

Javascript 许多人的第一份表格在点击后提交,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,问题:同一页面上有多个表单,但只提交了第一个表单 尝试了以下操作: 将提交按钮和表单的数据ID相等,以便提交单击的表单(运气不佳) 使用Javascript动态创建表单(由于该想法已到最后期限,所以尝试了几次后就取消了该想法) 用例 表单的数量取决于用户。如果他只有一条评论,那么表单将提交,而如果有4条评论,那么只有第一条评论将提交 Javascript: $(function() { $(".submit").click(function() { var data_id

问题:同一页面上有多个表单,但只提交了第一个表单

尝试了以下操作: 将提交按钮和表单的数据ID相等,以便提交单击的表单(运气不佳) 使用Javascript动态创建表单(由于该想法已到最后期限,所以尝试了几次后就取消了该想法)

用例 表单的数量取决于用户。如果他只有一条评论,那么表单将提交,而如果有4条评论,那么只有第一条评论将提交

Javascript:

$(function() {
    $(".submit").click(function() {
        var data_id = $(this).data('id');
        var form_id = $(this.form).data('id');
        if (parseInt(data_id, 10) == parseInt(form_id, 10)) {
            var commentid = document.getElementByID('commentid');
            alert(commentid + formid);
        } else {
            alert("10");
        }
    });
});
PHP代码:

if($comment['Comment_Username'] ==$this->getUser()->getName()) 
{$output .='div class="panel" data-class="'.$comment['CommentID'].'">';
$output .='<form class="form" action="" method="post" data-  id="'.$comment['CommentID'].'">';
$output .='<textarea name="edit_text' class="box" rows="2" cols="1">'.$this->getCommentText($comment['Comment_Text']).'</textarea>';
$output .='<input name="commentid" type="hidden" id="commentid" value="'.$comment['CommentID'].'"/>';
$output .='<input type="button' data-id="'.$comment['CommentID'].'" class="submit" value="submit"/>';
if($comment['comment\u Username']=$this->getUser()->getName())
{$output.='div class=“panel”data class=“”.$comment['CommentID'].“>”;
$output.='';
$output.='此处使用了错误的引号

$output .='<textarea name="edit_text" class="box" rows="2" cols="1">'.$this->getCommentText($comment['Comment_Text']).'</textarea>';
$output.=''.$this->getCommentText($comment['comment_Text'])。';

确保.submit按钮类型不应为submit。如果手动触发,则按钮类型不应为submit。它应为button。很明显,您的第一个表单将被提交,因为您使用的是submit按钮的类名,然后在Js中触发,因此这将在页面中找到类名,并找到第一个表单,然后它将被删除你可以使用表单Id而不是Submit按钮的类名。亲爱的,一次提交一个表单是不可能的。你可以一次提交多个表单,而不是获取另一个表单的数据,并使用ajax在一个表单提交请求中发送,ajax是唯一的solution@Alex,我不能使用表单Id,因为它们都是动态的lly已创建。我已尝试使用.closest和.find,但它们需要作为按钮中的onClick属性。除了此正确答案之外,似乎是一个空的
数据-
属性。这是无效的,因为它以hypen结束。更新我已将JS中触发器的名称更改为'input[type=“button”]“。现在这似乎起作用了,因为它打印了单击时提交的数据id值。但它仍然从第一条注释中获取文本。我也尝试过在文本区域使用数据id,但它仍然会提醒加载的第一个注释框。”。