为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用模态和 Jquery 将文件上传到表?

如何使用模态和 Jquery 将文件上传到表?

Go
UYOU 2023-08-21 16:27:02
我有一个动态表,允许人们在单击按钮时在模式中上传图像、他们的名字和姓氏。当我尝试上传图像时,我的表格在图像的位置显示“未定义”。如何让表格显示图像?我尝试过使用 .val()、.attr('src')。我是 jquery 新手,所以我确信我在这里犯了一个菜鸟错误,但我没有想法,似乎在任何地方都找不到类似的问题。$(document).ready(function () {    $("#save_btn").click(function () {        let image = $("#Image").attr('');        let name = $("#Name").val();        let surname = $("#Surname").val();        $('#myTable').append(            '<tr>' +            '<td>' + image + '</td>' +            '<td>' + name + '</td>' +            '<td>' + surname + '</td>' +            '<td> <button id="edit" class="btn btn-sm material-icons" style="color: green"> create </button> </td>' +            '<td><button id="delete" class="btn btn-sm material-icons" style="color: red">delete</button></td>' +            '</tr>'        );    });        });我对附加功能进行了更改。我添加了这个..."<td>" + "<img id='table_image' alt='' src='" + './images/' + image + "' > " + "</td>" +
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

$(document).ready(function () {


     $('input[type="file"]').change(function(e){

               fileName=URL.createObjectURL(e.target.files[0]);

            });

        $("#save_btn").click(function () {

            //let image = $("#Image").attr('src',fileName);

            let name = $("#Name").val();

            let surname = $("#Surname").val();

            $('#myTable').append(

                '<tr>' +

                '<td><img src="' + fileName + '" width="150" height="150"></td>' +

                '<td>' + name + '</td>' +

                '<td>' + surname + '</td>' +

                '<td> <button id="edit" class="btn btn-sm material-icons" style="color: green"> create </button> </td>' +

                '<td><button id="delete" class="btn btn-sm material-icons" style="color: red">delete</button></td>' +

                '</tr>'

            );

        });

        

        });

 <!doctype html>

    <html>

    <head>

        <!-- Required meta tags -->

        <meta charset="utf-8">

        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

        <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

        <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

        <title>Homework 2</title>

    </head>

    <body>

    <div class="container">

        <div class="row">

            <div class="col">

                <button type="button" class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#myModal">Add to Table</button>

            </div>

        </div>


        <table id="myTable" class="table table-dark">

            <thead>

            <tr>

                <th scope="col">Image</th>

                <th scope="col">Name</th>

                <th scope="col">Surname</th>

                <th scope="col">Edit</th>

                <th scope="col">Delete</th>

            </tr>

            </thead>

            <tbody>

            </tbody>

        </table>

    </div>



    <!-- The Modal -->

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

        <div class="modal-dialog" role="document">

            <div class="modal-content">

                <div class="modal-header">

                    <h5 class="modal-title" id="exampleModalLabel">Add Data to Table</h5>

                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">

                        <span aria-hidden="true">&times;</span>

                    </button>

                </div>

                <div class="modal-body">

                    <form>

                        <div class="form-group">

                            <label id="Image_input" for="Image" class="col-form-label">Image:</label>

                            <input type="file" class="form-control" id="Image">

                        </div>

                        <div class="form-group">

                            <label id="name_input" for="Name" class="col-form-label">Name:</label>

                            <input type="text" class="form-control" id="Name">

                        </div>

                        <div class="form-group">

                            <label id="surname_input" for="Surname" class="col-form-label">Surname:</label>

                            <input type="text" class="form-control" id="Surname">

                        </div>

                    </form>

                </div>

                <div class="modal-footer">

                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>

                    <button id="save_btn" type="button" class="btn btn-primary" data-dismiss="modal">Save</button>

                </div>

            </div>

        </div>

    </div>



    <!-- Optional JavaScript -->

    <!-- jQuery first, then Popper.js, then Bootstrap JS -->


    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>

    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

    <script src="js/index.js"></script>

    </body>

    </html>


查看完整回答
反对 回复 2023-08-21
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

您正在分配空白 attr 值。请参阅下面的更新代码。


$(document).ready(function() {

  $("#save_btn").click(function() {   

    var fileNameIndex = $("#Image").val().lastIndexOf("\\") + 1;

    var image = $("#Image").val().substr(fileNameIndex);    

    let name = $("#Name").val();

    let surname = $("#Surname").val();

    $('#myTable').append(

      '<tr>' +

      '<td>' + image + '</td>' +

      '<td>' + name + '</td>' +

      '<td>' + surname + '</td>' +

      '<td> <button id="edit" class="btn btn-sm material-icons" style="color: green"> create </button> </td>' +

      '<td><button id="delete" class="btn btn-sm material-icons" style="color: red">delete</button></td>' +

      '</tr>'

    );

  });


});

<!doctype html>

<html>


<head>

  <!-- Required meta tags -->

  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

  <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

  <title>Homework 2</title>

</head>


<body>

  <div class="container">

    <div class="row">

      <div class="col">

        <button type="button" class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#myModal">Add to Table</button>

      </div>

    </div>


    <table id="myTable" class="table table-dark">

      <thead>

        <tr>

          <th scope="col">Image</th>

          <th scope="col">Name</th>

          <th scope="col">Surname</th>

          <th scope="col">Edit</th>

          <th scope="col">Delete</th>

        </tr>

      </thead>

      <tbody>

      </tbody>

    </table>

  </div>



  <!-- The Modal -->

  <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

    <div class="modal-dialog" role="document">

      <div class="modal-content">

        <div class="modal-header">

          <h5 class="modal-title" id="exampleModalLabel">Add Data to Table</h5>

          <button type="button" class="close" data-dismiss="modal" aria-label="Close">

                    <span aria-hidden="true">&times;</span>

                </button>

        </div>

        <div class="modal-body">

          <form>

            <div class="form-group">

              <label id="Image_input" for="Image" class="col-form-label">Image:</label>

              <input type="file" class="form-control" id="Image">

            </div>

            <div class="form-group">

              <label id="name_input" for="Name" class="col-form-label">Name:</label>

              <input type="text" class="form-control" id="Name">

            </div>

            <div class="form-group">

              <label id="surname_input" for="Surname" class="col-form-label">Surname:</label>

              <input type="text" class="form-control" id="Surname">

            </div>

          </form>

        </div>

        <div class="modal-footer">

          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>

          <button id="save_btn" type="button" class="btn btn-primary" data-dismiss="modal">Save</button>

        </div>

      </div>

    </div>

  </div>



  <!-- Optional JavaScript -->

  <!-- jQuery first, then Popper.js, then Bootstrap JS -->


  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>

  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

  <script src="js/index.js"></script>

</body>


</html>


查看完整回答
反对 回复 2023-08-21
  • 2 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信