将提交表单值从模态发送到另一个模态 php
Sending submit form values from modal to another modal php
我在一个 php 项目中工作,我有两个模态。第一个模态包含一个表单,在提交表单后,模态必须使用 $_POST 将表单值发送到另一个模态(将在提交后出现)。除了 $_POST 数组在第二个模式中显示为空之外,所有这些步骤都有效。
我想知道是否有遗漏的东西我必须包括或者我应该使用其他东西我 jQuery.
这是我的代码
<button type="button" class="btn btn-red pull-right" data-toggle="modal" data-target="#newvisitor1" data-whatever="@mdo">New Visitor</button>
<!-- First Modal -->
<div class="modal fade" id="newvisitor1" tabindex="-1" role="dialog" aria-labelledby="modelLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modelLabel">New Visitor</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form id="visitorForm1" action="" method="post" role="form">
<div class="modal-body">
<div class="form-group mb-4">
<input type="text" class="form-control" id="cpr" name="cpr" pattern="\d*" title="only numbers allowed" minlength="9" size="9" maxlength="9" placeholder="Visitor CPR" required>
</div>
</div>
<div class="modal-footer">
<button type="button" id="cancel1" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="submit" id="checkVisitor" name="checkVisitor" class="btn btn-red pull-right">Check Visitor</button>
</div>
</form>
</div>
</div>
</div>
<!-- Second Modal -->
<div class="modal fade" id="newvisitor2" tabindex="-1" role="dialog" data-backdrop="static" aria-labelledby="modelLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form id="visitorForm2" action="index.php" method="post">
<div class="modal-header">
<h5 class="modal-title" id="modelLabel">New Visitor</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-visitor" role="tabpanel" aria-labelledby="pills-visitor-tab">
<div id="visitorForm">
<h6>Visitor's Details</h6>
<div class="form-group mb-4">
<div class="form-row">
<div class="col-6">
<input type="text" id="firstName" name="firstName" class="form-control" placeholder="First Name" autofocus>
</div>
<div class="col-6">
<input type="text" id="lastName" name="lastName" class="form-control" placeholder="Last Name">
</div>
</div>
</div>
<div class="form-group mb-4 mt-4">
<input type="text" class="form-control" id="cpr" name="cpr" pattern="\d*" title="only number allowed" minlength="9" size="9" maxlength="9" placeholder="CPR" required>
</div>
<div class="form-group mb-4">
<div class="form-row">
<div class="col-4">
<input type="text" id="house" name="house" class="form-control" placeholder="House">
</div>
<div class="col-4">
<input type="text" id="road" name="road" class="form-control" placeholder="Road">
</div>
<div class="col-4">
<input type="text" id="block" name="block" class="form-control" placeholder="Block">
</div>
</div>
</div>
<div class="form-group mb-4 mt-4">
<input type="text" class="form-control" id="phoneNumber" name="phoneNumber" placeholder="Phone Number" required>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<input type="hidden" id="type" name="type" value="visitor">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-red">Register</button>
</div>
</form>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$("#visitorForm1").submit(function() {
$('#newvisitor1').modal('hide');
$('#cancel1').click();
$('#newvisitor2').modal('show');
return false;
});
});
</script>
无需发送第一种形式的数据。当您提交第一个表单时,您可以从第一个表单中提取值并在第二个表单中设置它。
虽然因为两个模式都在同一页面上,您需要修改第二个 cpr
字段的 ID。否则你会有重叠的 ID,这会使它们毫无用处。
在下面的示例中,我将第二个模态中的 cpr
字段命名为 cpr2
。请随意命名。
$(document).ready(function () {
$("#visitorForm1").submit(function(event) {
event.preventDefault();
// Get CPR value of first modal.
const cprValue = $('#cpr').val();
// Set the CPR value in the second modal.
$('#cpr2').val(cprValue);
$('#newvisitor1').modal('hide');
$('#cancel1').click();
$('#newvisitor2').modal('show');
return false;
});
});
我在一个 php 项目中工作,我有两个模态。第一个模态包含一个表单,在提交表单后,模态必须使用 $_POST 将表单值发送到另一个模态(将在提交后出现)。除了 $_POST 数组在第二个模式中显示为空之外,所有这些步骤都有效。 我想知道是否有遗漏的东西我必须包括或者我应该使用其他东西我 jQuery.
这是我的代码
<button type="button" class="btn btn-red pull-right" data-toggle="modal" data-target="#newvisitor1" data-whatever="@mdo">New Visitor</button>
<!-- First Modal -->
<div class="modal fade" id="newvisitor1" tabindex="-1" role="dialog" aria-labelledby="modelLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modelLabel">New Visitor</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form id="visitorForm1" action="" method="post" role="form">
<div class="modal-body">
<div class="form-group mb-4">
<input type="text" class="form-control" id="cpr" name="cpr" pattern="\d*" title="only numbers allowed" minlength="9" size="9" maxlength="9" placeholder="Visitor CPR" required>
</div>
</div>
<div class="modal-footer">
<button type="button" id="cancel1" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="submit" id="checkVisitor" name="checkVisitor" class="btn btn-red pull-right">Check Visitor</button>
</div>
</form>
</div>
</div>
</div>
<!-- Second Modal -->
<div class="modal fade" id="newvisitor2" tabindex="-1" role="dialog" data-backdrop="static" aria-labelledby="modelLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form id="visitorForm2" action="index.php" method="post">
<div class="modal-header">
<h5 class="modal-title" id="modelLabel">New Visitor</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-visitor" role="tabpanel" aria-labelledby="pills-visitor-tab">
<div id="visitorForm">
<h6>Visitor's Details</h6>
<div class="form-group mb-4">
<div class="form-row">
<div class="col-6">
<input type="text" id="firstName" name="firstName" class="form-control" placeholder="First Name" autofocus>
</div>
<div class="col-6">
<input type="text" id="lastName" name="lastName" class="form-control" placeholder="Last Name">
</div>
</div>
</div>
<div class="form-group mb-4 mt-4">
<input type="text" class="form-control" id="cpr" name="cpr" pattern="\d*" title="only number allowed" minlength="9" size="9" maxlength="9" placeholder="CPR" required>
</div>
<div class="form-group mb-4">
<div class="form-row">
<div class="col-4">
<input type="text" id="house" name="house" class="form-control" placeholder="House">
</div>
<div class="col-4">
<input type="text" id="road" name="road" class="form-control" placeholder="Road">
</div>
<div class="col-4">
<input type="text" id="block" name="block" class="form-control" placeholder="Block">
</div>
</div>
</div>
<div class="form-group mb-4 mt-4">
<input type="text" class="form-control" id="phoneNumber" name="phoneNumber" placeholder="Phone Number" required>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<input type="hidden" id="type" name="type" value="visitor">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-red">Register</button>
</div>
</form>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$("#visitorForm1").submit(function() {
$('#newvisitor1').modal('hide');
$('#cancel1').click();
$('#newvisitor2').modal('show');
return false;
});
});
</script>
无需发送第一种形式的数据。当您提交第一个表单时,您可以从第一个表单中提取值并在第二个表单中设置它。
虽然因为两个模式都在同一页面上,您需要修改第二个 cpr
字段的 ID。否则你会有重叠的 ID,这会使它们毫无用处。
在下面的示例中,我将第二个模态中的 cpr
字段命名为 cpr2
。请随意命名。
$(document).ready(function () {
$("#visitorForm1").submit(function(event) {
event.preventDefault();
// Get CPR value of first modal.
const cprValue = $('#cpr').val();
// Set the CPR value in the second modal.
$('#cpr2').val(cprValue);
$('#newvisitor1').modal('hide');
$('#cancel1').click();
$('#newvisitor2').modal('show');
return false;
});
});