javascript - 在 JSP 中创建模式对话框并执行 POST 操作
问题描述
我正在尝试重命名页面中的文件。我必须在提交对话框弹出时执行 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">×</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 都在一个表单中。
解决方案
您应该对 Servlet 进行 Ajax 调用以重命名文件。还有一件事,您应该将 javascript 代码远离 jsp 保存到单独的 js 文件中,并使用<script>
标记将其包含在 jsp 页面中。
推荐阅读
- ios - TableView viewForHeaderInSection 分隔线
- javascript - Javascript onSelect:函数(日期)警报()
- javascript - 开关内开关替代
- java - 为什么我不能用控制器传递值并在场景中显示?
- c++ - 错误:预期的';' 在'generationString'之前
- web-config - 如何在不同的项目中使用不同的 NuGet 包版本?
- codenameone - 使用 CN1 数据访问初始化 SQL Lite 时出错
- javascript - 在图像中使用 runat = "server" 时未调用 jQuery 函数
- sql - 使用最新值更新 SQL 表
- delphi - TOraSession.Connect => 无效的 Oracle 主目录: