Создайте модальное диалоговое окно внутри JSP from и выполните действие POST - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь сделать переименование файлов на странице.Я должен выполнить GET-запрос на отправку всплывающего окна для переименования файла.Проблема, с которой я сталкиваюсь, состоит в том, что на странице много полей ввода, поэтому я не могу отправлять форму каждый раз, когда переименовываю файл.Компоненты HTML для списка файлов генерируются динамически.Вот фрагмент кода -

<div class="modal fade" id="renameModal" role="dialog">
   <div class="modal-dialog modal-lg">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Rename File</h4>
        </div>
        <div  class="modal-body">
         <div id="renameForm" class="form-group">
     <label  class="col-sm-2 control-label" for="inputFname3">FileName: </label><input id="newFilename" type = "text" name = "newFilename"/>
     <br />         
     <input id="confirm-btn"  class="btn btn-primary" type = "submit" value = "Confirm" name = "ok" style="float: right" />  
     <br />
     </div>      
     </div>         
      </div>
    </div>
  </div><!-- /modal -->   
    <%
    String str =AdministrationServlet.fileJson(request, collection).toString();
        String x = request.getParameter("ok");
            if(x!=null && x.equals("Confirm"))
            {
      AdministrationServlet.renameFile(request,collection.getUuid(),"manifest_text", collection);} 
      %>

 <script type="text/javascript">
  $(document).ready(function () {
              $('button').click(function(){ 
                  var id = this.id;
                    var res = id.substring("rename-btn-".length,id.length); 
                    $('#renameModal').find('#renameForm').append('<input id="myfieldname" type="hidden" name="myfieldname" value="'+res+'" />');
                  var oldfilename = $('#myfieldname').val(); <%--"<%=request.getParameter("myfieldname")%>"; --%>
                  var newfilename = $('#newFilename').val(); <%--"<%=request.getParameter("newFilename")%>";--%>                  
                    $('a[id="'+oldfilename+'"]').text(newfilename); 
 });
              });

  </script>

Как я могу выполнить переименование файлов с помощью вызовов API и не отправлять форму.Поскольку весь div находится внутри формы.

1 Ответ

0 голосов
/ 06 июня 2018

Вы должны сделать Ajax Call сервлету для переименования файла.Еще одна вещь: вы должны хранить код javascript отдельно от jsp в отдельном файле js и включать его в страницу jsp с помощью тега <script>.

...