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

标签 javascript php wordpress

这是一个私有(private)婚礼网站。邀请被发送给客人,可以是个人或整个家庭。这些邀请包括一个特殊的密码,可以让他们访问该网站。进入后,在 RSVP 部分,我们返回了受邀客人的姓名。 目标是允许任何已登录的客人通过单击"is"我将参加或“否”我不会参加的框来响应 RSVP。 该问题对组中的所有人都可用。然后此人可以输入其他信息+为婚礼提供歌曲建议。我希望在那个时候将整个表单一起提交。

问题:只要客人点击(是)或(否),表单就会自动提交,然后刷新页面。那时您将看不到做出了什么选择。我如何更改此代码,以便我的客人可以单击所有的是和否,然后完成其他信息,然后他们可以在单击提交(提交)整个表单之前看到他们的所有回复?

例如: 约翰(是) (否)

艾米丽(是) (否)

路易斯(是) (否)

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

按钮(提交)

      <!-- 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”处理程序。然后当您提交表单时,所有字段将立即提交。只需确保您要 POST 的端点正确处理新字段即可。

关于javascript - 每次回复后提交 RSVP 表格 - 需要为家人一起提交所有回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29957362/

相关文章:

javascript - 使用 CSS 或 Javascript 使多个背景图像可缩放?

javascript - 单击时没有任何反应 - jQuery

php - 如何使用 PHP 或 MySQL 对一个表中的不同列求和并在另一个表中获取求和结果?

php - Docker-Compose Wordpress:wp_mail()不起作用

javascript - Wordpress wp_signon() 在 ajax 调用中不起作用

javascript - 如何切换显示 :none/display:block whilst first animating/transitioning

javascript - 是否可以对超出范围的 setInterval 变量调用 clearInterval 方法?

php - 从数组中获取特定的 MySQL 数据?

php - 当我的列名中有空格时,为什么我的查询会中断?

css - 将 WordPress Logo 与 Index.PHP 链接起来