单击按钮时如何从不同字段获取ajax中的数据

时间:2017-07-27 06:10:48

标签: php jquery ajax

说明 我希望当用户点击while循环内的按钮时,该按钮的值和输入字段值(两个值)由ajax获取并发送给php。 如果我的代码中出现了问题,请更正它或告诉我一些方法。

<?php

    echo '<form id ="aa" method="post">';
    echo '<input id="csv" name="csv" type="file" />';
    echo '</form>';

    while($row=mysql_fetch_array($result_1)) {
        $pin=$row['board_name'];
        $name=$row['board_name'];

        echo'<div>';
        echo $row['board_name'];
        echo '<button  type="submit" form="aa" class="a" name="aabb" value='.$name.'>Save</button>';
        echo '</div>';
    }
?>

<script>
    $(document).ready(function() {
        $(".a").click(function(evt){     
            evt.preventDefault();
            var formData = new FormData($(this)[0]);
            $.ajax({
                url: 'pin_insert.php',
                type: 'POST',
                data: formData,
                async: false,
                cache: false,
                contentType: false,
                enctype: 'multipart/form-data',
                processData: false,
                success: function(response) {
                    $(".text").html(response);
                }
            });
            return false;
        });
    });
</script>

2 个答案:

答案 0 :(得分:0)

我不使用jQuery所以请原谅任何错误,但可能是以下因为submit按钮在表单之外,即使它们提交了一个值,它也不会包含在formdata中,因此需要附加到发送的数据。

<script>
    $(document).ready(function() {
        $(".a").click(function(evt){     
            evt.preventDefault();
            var formData = new FormData( document.getElementById('aa') );

                /* Add the value from the button */
                formData.append( 'aabb', evt.target.value );

            $.ajax({
                url: 'pin_insert.php',
                type: 'POST',
                data: formData,
                async: false,
                cache: false,
                contentType: false,
                enctype: 'multipart/form-data',
                processData: false,
                success: function(response) {
                    $(".text").html(response);
                }
            });
            return false;
        });
    });
</script>

答案 1 :(得分:0)

输入字段和按钮值是相同的,所以我这样做

 <?php

        echo '<form id ="aa" method="post">';
        echo '<input id="csv" name="csv" type="file" />';
        echo '</form>';

        while($row=mysql_fetch_array($result_1)) {


            echo'<div>';
            echo $row['board_name'];
            echo '<button  type="button" form="aa" class="a" name="aabb" value='.$row['board_name'].' onclick="abc(this.value)">Save</button>';
            echo '</div>';
        }
    ?>

    <script>
    function abc(boardname){
               var inputvalue= $("#csv").val();

                var boardname= boardname;
                $.ajax({
                    url: 'pin_insert.php',
                    type: 'POST',
                   data: {'boardname': boardname , 'inputvalue': inputvalue},
                    async: false,
                    cache: false,
                    contentType: false,
                    enctype: 'multipart/form-data',
                    processData: false,
                    success: function(response) {
                        $(".text").html(response);
                    }
                });
            }

    </script>

你可以从pin_insert.php页面获取价值$ _POST ['boardname'] $ _POST ['inputvalue']