Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Jquery 如何仅引用我提交的表单中的输入字段_Jquery_Ajax - Fatal编程技术网

Jquery 如何仅引用我提交的表单中的输入字段

Jquery 如何仅引用我提交的表单中的输入字段,jquery,ajax,Jquery,Ajax,我的页面中有很多表单(让我们说2个)。我想用ajax提交它们 我如何“告诉”我的脚本只引用我提交的表单中的输入字段(而不是另一个) HTML: 您的id不是唯一的$(“#textArea”).val()不知道取哪个值!您可以使用$(this).parents('form').serialize()从提交按钮获取表单数据。我可以这样做吗:form_data.$(this).parents('form').$(“#textArea”).val()?不,这不是有效的jQuery。您可能需要类似于$(t

我的页面中有很多表单(让我们说2个)。我想用ajax提交它们

我如何“告诉”我的脚本只引用我提交的表单中的输入字段(而不是另一个)

HTML:


您的
id
不是唯一的
$(“#textArea”).val()
不知道取哪个值!您可以使用
$(this).parents('form').serialize()
从提交按钮获取表单数据。

我可以这样做吗:form_data.$(this).parents('form').$(“#textArea”).val()?不,这不是有效的jQuery。您可能需要类似于
$(this).parents('form').find('textarea')
。这将通过查找标记名而不是id来查找textarea。需要删除重复的id,否则
$(“#textarea”)
将永远不会返回有用的内容
<form class="form-horizontal" action='#' method="post" id="addCommentForm4" enctype="multipart/form-data">
    <input type='hidden' name='comment[pageName]' value='<?PHP echo $_GET['page'] ?>' id="pageName" />
    <input type='hidden' name='comment[refID]' value='4' id="refID" />

    <textarea class="form-control" name="comment[text]" id="textArea"></textarea>
    <input type='file' name='file[]' class='multi form-control' maxlength='1' accept='gif|jpg|png|bmp' id="files"/>
    <a class="btn btn-primary submit" id="submit" refID='4'>Send</a>

</form>

<form class="form-horizontal" action='#' method="post" id="addCommentForm5" enctype="multipart/form-data">
    <input type='hidden' name='comment[pageName]' value='<?PHP echo $_GET['page'] ?>' id="pageName" />
    <input type='hidden' name='comment[refID]' value='5' id="refID" />

    <textarea class="form-control" name="comment[text]" id="textArea"></textarea>
    <input type='file' name='file[]' class='multi form-control' maxlength='1' accept='gif|jpg|png|bmp' id="files"/>
    <a class="btn btn-primary submit" id="submit" refID='5'>Send</a>

</form>     
$(function() {
    $(".submit").click(function() {

        var element = $(this);
        var refID = element.attr("refID");
        alert(refID);

        var file_data = $('#addCommentForm'+refID+' #files').prop('files')[0];   
        var form_data = new FormData();                  
        form_data.append('file[]', file_data);
        var files_data =  form_data;

        var act = 'add';
        form_data.append('act', act);
        form_data.append('comment[text]',  $("#textArea").val());   
        form_data.append('comment[pageName]',  $("#pageName").val());   
        form_data.append('comment[refID]',  $("#refID").val()); 


        $.ajax({
               type: "POST",
               url: "ajax/addComment.php",

               dataType: 'text',  // what to expect back from the PHP script, if anything
               cache: false,
               contentType: false,
               processData: false,  

               data: form_data,
               success: function(data)
               {
                    $('#commentsBox').html(data);
               }

             });

        return false; 
    });
});