所以我得到了一些封闭形式和两个嵌套形式。两个嵌套表单在 buttonclick 上使用 ajax 进行评估,外部表单有一个提交按钮。
简化标记:
<form id="form1" action="default.asp">
//some fields inside a list with unnecessary text
<input type="text" name="shortdesc"/>
<form id="deleteform" action="delete.asp">
//dynamically generated checkboxes
<input type="checkbox" name="deleter" value="somedocument.txt">somedocument.txt<br>
<input type="checkbox" name="deleter" value="some_otherdocument.doc">some_otherdocument.doc<br>
<input type="button" onclick="console.log(this.form); ajaxcall('delete.asp', this.form);" />
</form>
<form id="addfileform" action="upload.asp">
<input type="file" name="file"/>
<input type="button" onclick="console.log(this.form); ajaxcall('upload.asp', this.form);" />
</form>
<input type="button" value="send" onclick="dataValidation(form1),"/>
</form>
When checking a checkbox and "submitting" the form, console logs outer form, but when chosing a file and "sumbitting" that, the correct form gets logged.
有人可以解释为什么和/或如何解决这个问题吗?
澄清一下:这应该是某个站点(不是 HTML5),您可以在其中提交一些文本字段以要求 CEO 进行一些更改。我现在应该实现文件附加。
表单是用 asp classic 处理和创建的(哦,痛苦,但是…… ),因为我并不热衷于在两个重定向中保留整个表单数据(一个用于上传,一个用于显示上传的文件) 我决定去 AJAX。
仅供参考:console.log(document.getElementById('deleteform')) 返回未定义