php - 通过 JavaScript 提交表单时出错 (.submit())
问题描述
我的页面上有以下模式窗口:
<!-- Modal -->
<div class="modal fade" id="BillsReceive" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-fullscreen">
<div class="modal-content ">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Register new product</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<?php
include 'BillsReceive.php';
?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button id="submit-add-article-form" title="New Register" class="btn btn-success" onclick="fncSendForm();"> <i class="fa fa-plus"> </i>Save Changes</button>
</div>
</div>
</div>
</div>
模态窗口包含一个包含应收账款“注册表”的页面。“BillsReceive.php”页面上的表格如下:
<form action="../I_MVC/Controller/Registrations/InsertBillsReceive.php" method="post" enctype="multipart/form-data" id="BillsReceive" name="BillsReceive" >
<div class="container">
<br/>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> Code:</div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> <input class="form-control" type="text" placeholder="Default input" aria-label="default input example" name="Code"> </div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<br/>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> Usual Name:</div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> <input class="form-control" type="text" placeholder="Default input" aria-label="default input example" name="UsualName"> </div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<br/>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> Type:</div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> <input class="form-control" type="text" placeholder="Default input" aria-label="default input example" name="Type"> </div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<br/>
</div>
</form>
那么,模式窗口的“保存更改”按钮调用一个 JavaScript 函数来发送页面的表单。下面是应该提交表单的 javascript 函数:
function fncSendForm()
{
document.getElementById("BillsReceive").submit();
}
但是在javascript中调用该函数时,出现如下错误:
未捕获的类型错误:document.getElementById(...).submit 不是函数
at fncSendForm (VM34 InsertBillsReceive.js:10) at HTMLButtonElement.onclick (VM41 ShowBills.php:1113) fncSendForm @ InsertBillsReceive.js:10 onclick @ VM41 ShowBills.php:1113
为什么提交功能不提交表单?功能正确,文件链接在模态窗口页面。为什么功能不起作用?
解决方案
我相信您正在以错误的顺序加载部分代码,或者它们可能不在正确的文件中。
您的 js 函数应该在创建表单后加载 - 最好是最后!
将其卡入一个文件时,您的代码可以毫无问题地工作...
这有效(注意:我更改了示例的操作):
<form action="./show.php" method="post" enctype="multipart/form-data" id="BillsReceive" name="BillsReceive" >
<div class="container">
<br/>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> Code:</div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> <input class="form-control" type="text" placeholder="Default input" aria-label="default input example" name="Code"> </div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<br/>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> Usual Name:</div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> <input class="form-control" type="text" placeholder="Default input" aria-label="default input example" name="UsualName"> </div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<br/>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> Type:</div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<div class="row">
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
<div class="col-10 col-sm-10 col-md-10 col-lg-10 col-xl-10 col-xxl-10"> <input class="form-control" type="text" placeholder="Default input" aria-label="default input example" name="Type"> </div>
<div class="col-1 col-sm-1 col-md-1 col-lg-1 col-xl-1 col-xxl-1"></div>
</div>
<br/>
</div>
</form>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button id="submit-add-article-form" title="New Register" class="btn btn-success" onclick="fncSendForm();"> <i class="fa fa-plus"> </i>Save Changes</button>
</div>
<script>
function fncSendForm()
{
document.getElementById("BillsReceive").submit();
}
</script>
文件显示.php:
<?php
echo '<pre>';
print_r($_POST);
echo '<pre>';
print_r($_GET);
show.php 上的输出:
Array
(
[Code] => 3243223
[UsualName] => 43543646
[Type] => 657576657
)
Array
(
)
我打赌包含位于错误的位置并且没有与其余代码一起运行......
推荐阅读
- wso2 - 如何在 wso2 apim 日志中显示用户名和调用的 api 名称?
- c# - Asp .NET Core MVC:jQuery Ajax、异步等待和会话数据管理
- ios - SwiftUI:UIViewRepresentable 小部件预览
- visual-studio-code - 无效的属性 AuraDefinationBundle
- python - 在tensorflow中用batch_jacobian计算二阶导数在训练过程中真的很慢
- vsto - 是否可以将新项目添加到 Outlook 中的内置 RibbonGallery 控件中
- linux - 错误:在构建 catkin_make(ROS 工作区)时调用“make -j8 -l8”失败
- reactjs - 在另一个测试中设置 Jest 模拟的指针
- spring-boot - 无法在 XSLT 中调用扩展函数
- javascript - HTML中的无效数字输入