javascript - 合并两个表单值并发送
问题描述
我在提交此合并表单时遇到问题。如果我现在使用mainForm.submit()
注释掉的 which ,它会提交,但是当我使用 submit 时,$.ajax
它不会到达success
. 我也试过mainForm[0].submit(function() {...}
没有任何运气。有人可以帮我吗?
$(function() {
var mainForm = $('#mainForm'),
modalForm = $('#modalForm');
$('#submitBtn').on('click', function() {
//mainForm.submit();
console.log($('#mainForm, #modalForm').serialize());
mainForm.submit(function() {
var action = $(this).attr('action');
$.ajax({
url: action,
type: 'POST',
data: $('#mainForm, #modalForm').serialize(),
success: function() {
console.log('success');
//window.location.replace(action);
}
});
return false;
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="mainForm" action="/page/2" method="post">
<input type="hidden" name="amount" value="1" />
<input type="hidden" name="currency" value="USD" />
<input type="hidden" name="recurring" value="true" />
</form>
<div class="modal">
<form id="modalForm">
<input type="text" name="firstName" value="Foo" />
<input type="text" name="lastName" value="Bar" />
<input type="text" name="emailAddress" value="foo.bar@domain.com" />
</form>
<button type="button" id="submitBtn">Send</button>
</div>
解决方案
我认为没有必要使用提交,只需使用ajax
点击按钮功能:
$(function() {
$('#submitBtn').on('click', function() {
var action = $('#mainForm').attr('action');
$.ajax({
url: action,
type: 'POST',
data: $('#mainForm, #modalForm').serialize(),
success: function() {
console.log('success');
//window.location.replace(action);
return true;
}
});
return false;
});
});
推荐阅读
- intellij-idea - InteliJ IDEA 中的 Thymeleaf 支持
- sql - 左连接语句没有“客户”列
- java - OkHttp 获取所有 cookie
- python - 在嵌套列表中添加元素并输出列表python
- javascript - Javascript如何通过嵌套对象属性对顶层对象数组进行排序
- java - 如何使用 Mockito/PowerMockito 触发 IOException 进行单元/集成测试
- privacy - 什么是“设计隐私”?以及如何实现?
- java - 将字符串转换为日期对象并返回
- c++ - 如何将 int32t_t 转换为 int16_t(msb) 和 uint16_t(Lsb)?在不改变原始值的情况下
- java - 为什么Java扩展基类需要main(string[])方法