gpt4 book ai didi

java - 使用 javascript 在上传文件时执行两个操作。文件和文件详细信息不会传递到 javascript 函数

转载 作者:行者123 更新时间:2023-12-02 08:09:25 24 4
gpt4 key购买 nike

我正在使用此代码上传文件。我必须执行两个提交操作。所以我调用了一个 JavaScript 函数 onclick()。但是,文件和使用表单输入的文件详细信息都不会传输到 javascript 函数。我在这里缺少什么?

<jsp:include page="template-top.jsp" />
<script type="text/javascript">
function onSubmit(){
document.forms["frm"].action="http://192.168.1.53/api.php/submit.xml";
document.forms["frm"].target="_blank";
document.forms["frm"].submit();
document.forms["frm"].action="directuploadsubmit.do";
document.forms["frm"].target="_blank";
document.forms["frm"].submit();
}
</script>
<style type="text/css">

td.boldtext{
font-weight: bold;
font-family:Helvetica,sans-serif;
font-size:16pt;
color:black;
width:200;
}

</style>
<%@ page import="databeans.Submit" %>
<%@ page import="databeans.User" %>
<%@ page import="databeans.Sandboxes" %>

<%
User user = (User) session.getAttribute("user");
%>

<div style="visibility:hidden">
<iframe NAME = "iframe1" WIDTH="40" HEIGHT="40"></iframe>
</div>

<form id="frm" name="frm" method="POST" enctype="multipart/form-data">
<table>
<tr> <td class="boldtext">
Direct Submission
</td>
</tr>
</table>
<table>
<tr>
<td colspan="2">
<font color="red">Complete notes as Case#:Notes (Example: <font color="blue">"Case12345:test sample"</font>)
</font>
</td>
</tr>
<tr>
<td width=50>
<font color="black" face="Helvetica,sans-serif">File:* </font></td>
<td><input type="file" name="file" value="${filename}" size="100"/></td>
</tr>
<tr>
<td width=50>
</td>
<td><input type="hidden" name="email" readonly="readonly" value="<%=user.getUserName() %>" size="100"/></td>
</tr>
<tr>
<td width=50>
<font color="black" face="Helvetica,sans-serif">Notes: </font></td>
<td><input type="text" name="notes" value="" size="100"/></td>
</tr>
<tr>
<td width=50>
<font color="black" face="Helvetica,sans-serif">Sandbox: </font></td>
<td><select name="sandboxes[]">
<option value="00-0C-29-CF-B8-A6">VMSB1 - Win7</option>
<option value="00-0C-29-0A-AB-9A">VMSB2 - WinXP</option>
</select>
</td>
</tr>
<tr>
<td width=50 colspan="2" align="left"><font face="Helvetica,sans-serif" color="FF0000">All * marked fields are mandatory
</font>
</td>
</tr>
<tr>
<td width=50 colspan="2" align="center">
<!-- <input type="submit" name="submit" value="Submit" onclick= "this.form.target='_blank'; return true;">
-->
<input type="submit" name="button" value="Submit" onClick="onSubmit()">
</td>
</tr>
</table>
</form>
<jsp:include page="template-bottom.jsp" />

最佳答案

您应该将 onSubmit 函数绑定(bind)到表单,而不是 submit 按钮。

<script type="text/javascript">
function onSubmit(){
//First form submission:
document.forms["frm"].action = "http://192.168.1.53/api.php/submit.xml";
document.forms["frm"].submit(); //Submit #1

//Change the action
document.forms["frm"].action = "directuploadsubmit.do";
}
</script>
...

<form action="directuploadsubmit.do" onsubmit="onSubmit();" name="frm" method="POST" enctype="multipart/form-data" target="_blank">
... rest of page

当用户禁用 JavaScript 时,默认操作是仅在新窗口中将表单提交到 directuploadsubmit.do。当启用 JavaScript 时,会发生以下情况:

  1. action 属性已更改为 submit.xml
  2. 表单提交(使用.submit()
  3. action 属性已更改(返回到 direcuploadsubmit.do
  4. 表单已提交,因为用户单击了提交按钮。[1]

[1] 当用户单击“提交”时,会发生以下事件:

  1. 触发 submit 事件(如果启用了 JavaScript)
  2. 表单已提交到操作中提到的页面。

关于java - 使用 javascript 在上传文件时执行两个操作。文件和文件详细信息不会传递到 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7679460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com