Javascript 为什么我不能从Ajax加载的内容中获取元素的父元素?

Javascript 为什么我不能从Ajax加载的内容中获取元素的父元素?,javascript,jquery,ajax,Javascript,Jquery,Ajax,有了这段代码,ajax html可以很好地加载,单击事件也会触发,但是当我尝试获取单击按钮的表单父级时,它似乎失败了。警报的输出为“未定义”。如何获取表单数据 $( "#offertable" ).load( "offer-get.php", function() { //$('#loadingDiv').hide(); $("#offertable").on('click', '#submit', function(event){ alert($(this).p

有了这段代码,ajax html可以很好地加载,单击事件也会触发,但是当我尝试获取单击按钮的表单父级时,它似乎失败了。警报的输出为“未定义”。如何获取表单数据

$( "#offertable" ).load( "offer-get.php", function() {
    //$('#loadingDiv').hide();
    $("#offertable").on('click', '#submit', function(event){
        alert($(this).parents('form:first').attr("action"));
        //event.preventDefault(); // this will prevent from submitting the form

        //$(this).prop('disabled',true);

        var postData = $(this).parents('form:first').serialize();
        var formURL = $(this).parents('form:first').attr("action");
        $.ajax(
        {
            url : formURL,
            type: "POST",
            data : postData,
            success:function(data, textStatus, jqXHR)
            {
                alert("Offer updated successfully");
            },
            error: function(jqXHR, textStatus, errorThrown)
            {
                alert("Failed to update offer");
            }
        });
        return false;
    });
} );
我已经尝试在表单上使用submit事件,它将为我提供可以从中获取数据的表单对象

    $("#offertable").on('submit', '#updateoffer', function(event){
但它从不开火

编辑:从offer-get.php返回的表单

            <tr>
                <form action="offer-update.php" id="updateoffer" name="updateoffer" method='post'>
                    <input type="hidden" name="pendingofferid" value="<?php echo $record['pendingofferid'] ?>">
                    <input type="hidden" name="offerid" value="<?php echo $record['offerid'] ?>">
                    <input type="hidden" name="oldpaused" value="<?php echo $record['paused'] ?>">
                    <input type="hidden" name="oldpayout" value="<?php echo $record['payout'] ?>">

                    <td><?php echo $record['offerid']; ?></td>
                    <td><img src="<?php echo $record['picture']; ?>" height="50" width="50"></td>
                    <td><?php echo $record['name']; ?></td>
                    <td><?php echo $record['trackinglink']; ?></td>
                    <td><?php echo $record['country']; ?></td>
                    <td><?php echo $record['device']; ?></td>
                    <td>
                        <?php if ($approved) : ?>
                            <input type="number" name="payout" min="0" step="0.01" value="<?php echo $record['payout']; ?>">
                        <?php else: echo $record['payout']; ?>
                        <?php endif; ?>
                    </td>
                    <td>
                        <?php if ($approved) : ?>
                            <select name="status"  class="form-control required" >
                                <option value="Live" <?php if(!$paused) echo 'selected="selected"'; ?> >Live</option>
                                <option value="Paused" <?php if($paused) echo 'selected="selected"'; ?> >Paused</option>
                            </select> 
                        <?php else: echo 'Pending'; ?>
                        <?php endif; ?>
                    </td>
                    <td>
                        <?php if ($approved) : ?>
                            <button type='submit' name='submit' id='submit' class='btn btn-userid'>Update</button>
                        <?php endif; ?>
                    </td>
                </form>
            </tr>

显然,这不是全部代码,我不想发布客户端敏感信息,但这应该足够了。此部分针对DB查询的每个结果循环。因此,有多个表单具有相同的ID。如果我对每个表单使用不同的ID,我不确定如何触发事件,因为在返回数据之前,行数是未知的。

我个人会使用。closestform,但我认为您所拥有的应该可以工作。。。。。。或者这个表格!发布HTML怎么样?什么!?使用相同id的多个表单是什么意思?不能在同一页上重复使用id值。Id值必须是唯一的。