每次回复后提交回复表格-需要为家人一起提交所有回复



这是一个私人婚礼网站。邀请函发送给客人,客人可以是个人,也可以是整个家庭。这些邀请包括一个特殊的密码,让他们可以访问网站。进入后,我们会在回复部分返回受邀客人的姓名。目标是允许任何登录的客人通过点击一个写着"是"我会出席或"否"我不会出席的框来回复回复回复。小组中的所有人都可以回答这个问题。然后这个人可以输入其他信息+为婚礼提供歌曲建议。我希望在这一点上提交整个表格。

问题:只要客人点击(是)或(否),表单就会自动提交,然后刷新页面。在这一点上,你再也看不到做出了什么选择。我如何更改此代码,以便我的客人可以单击所有的"是"one_answers"否",然后单击所有其他信息,然后在单击Submit which submits()之前,他们可以在那里看到所有的响应?

例如:约翰(是)(否)

Emily(是)(否)

Louis(是)(否)

邮寄地址(表单字段)电子邮件地址(表单字段)电话号码(表单字段)歌曲标题(表单字段)艺术家(表单字段)

按钮(提交)

<!-- FORM -->
<div class="row">
<div id="result" class="col-md-12"> <!-- Show Message --> </div>
<div class="col-md-6">
<div id="events" class="form-group">
<?php
global $wpdb;
$guestname = $wpdb->get_results("SELECT * FROM `wp_password_a` where pwd_a_id='" . $_SESSION['admin_id'] . "' ");
$guest = $guestname[0]->name_guest;
$id_res = $guestname[0]->wp_response_id;
$myrows = $wpdb->get_results("SELECT * FROM `wp_pwd_a_response` where guestname='" . $guest . "' ");
//echo "<pre>";print_r($myrows);
$i = 1;
foreach ($myrows as $pro_data) {
?>

<form method="post"  id="formName<?php echo $pro_data->wp_response_id; ?>" >
<div class="col-md-12">
<div class="col-md-4"  style="margin:10px 0px;">
<?php echo $pro_data->member; ?>
</div>
<div class="col-md-4">
<div class="checkbox">
<label><input type="checkbox" class="checkbox" onchange="document.getElementById('formName<?php echo $pro_data->wp_response_id; ?>').submit()" name="response" value="YES">Will be in Attendance</label>
</div>
</div>
<div class="col-md-4">
<div class="checkbox">
<label><input type="checkbox"  class="checkbox" onchange="document.getElementById('formName<?php echo $pro_data->wp_response_id; ?>').submit()" name="response" value="NO">Regretfully Declines</label>
<input type="hidden" name="res_id" value="<?php echo $pro_data->wp_response_id; ?>">
</div>
</div>
</div>
</form>
<?php } ?>
<form method="post">
<div id="fullname" class="form-group">
<label for="inputname"><i><b>Mailing Address</b></i></label>
<input type="text" name="address" class="form-control" id="inputname" placeholder="">
</div>
<div  class="form-group">
<label for="inputname"><i><b>E-mail Address</b></i></label>
<input type="text" name="phone" class="form-control" id="inputname" placeholder="">
</div>
<div  class="form-group">
<label for="inputname"><i><b>Phone Number</b></i></label>
<input type="text" name="phone" class="form-control" id="inputname" placeholder="">
</div>
</div>
</div>
<div class="col-md-6">
<div class="col-md-12">
<i></br></br>In celebration of the bride and groom’s special day, I would like to dedicate the following song:</i>
</div>
<div id="fullname" class="form-group">
<label for="inputname"></br></br><i><b>Song Title</b></i></label>
<input type="text" name="song" class="form-control" id="inputname" placeholder="">
</div>
<div  class="form-group">
<label for="inputname"><i><b>Artist</b></i></label>
<input type="text" name="artist" class="form-control" id="inputname" placeholder="">
</div>
</div>
<div class="col-md-12 text-center text-danger"></br></br>
<div><b><i>Please provide a response by August 1, 2015.</i></b></div>
</div>
<div class="col-md-12 text-center">
<div class="form-group">
<input type="submit" id="submitButton"  name="submitresponse" class="btn btn-default btn-lg" value="Submit">
</div> 
</div>
<form>
</div>
</div>
</section><!--END of RSVP SECTION-->

根据您提供的代码示例,您似乎正在为每个复选框创建一个新表单,该表单与包含其他信息的表单是分开的。此外,在生成的复选框表单中,您有代码:

onchange="document.getElementById('formNamewp_response_id;?>').submit()">

这解释了单击复选框和刷新页面时所看到的行为。onchange事件触发,表单提交。

要实现您想要的行为,请将每个复选框输入呈现为较低的形式,并删除每个复选框的"onchange"处理程序。然后,当您提交表单时,所有字段都将同时提交。只需确保要发布的端点正确处理新字段即可。

最新更新