多种动态联系形式


Multiple dynamic contact forms

我在我的网站上建立了一个查询表,这个想法不是每次用户提交查询时都给我发邮件,而是添加到我的数据库中,然后我可以通过我的后端系统查看

每个查询将逐一列出,下面有一个文本区域联系表,允许我单独回复每个查询

到目前为止,我有这个(抱歉有点乱)

foreach ($listings as $row){
    $loop.= "<h3 class='text-center'>".$row['question']."</h3>";
    $loop.= "<p>".$row['message']."</p>";
    $loop.= "Name: <b>".$row['name']."</b>";
    $loop.= "<span class='pull-right'>Email: <b>".$row['email']."</b><br></span>";
    $loop.= "<div class='clearfix'></div>";
    if(isset($row['website'])){            $loop.="Website: <b>".$row['website']."</b>";        }
    $loop.= "<span class='pull-right'>Date: <b>".$row['date']."</b></span>";
    $loop.= "<form name='submit-response' method='POST'><fieldset>";
    $loop.= "<div class='form-group'>       <label for='Message".$counter."'>Your Message</label>     <textarea id='Message".$counter."' name='Message".$counter."' class='form-control' rows='5'></textarea>    </div>";
    $loop.= "<button type='submit' name='submit".$counter."' class='btn btn-default btn-block'>Reply</button>";
    $loop.= "</fieldset></form>";
}

在此之前是foreach循环,oh和$counter的开始设置为nill

我想要的是每个联系表格都是唯一的,这样当我点击其中一个查询时,它就会被发送和删除,这样我就可以发送另一个了,我唯一的问题是如何确定提交是否被点击,以及哪个提交被点击了

代码需要锻炼哪个按钮被点击了,然后根据哪个按钮将邮件()发送给收件人

我很纠结于这个问题,我不确定最好的行动方案,所以任何建议都非常感谢

Luke

如果单击<form>标记内的提交按钮,则只会提交该表单。

可以包含一个隐藏字段,其中包含行的ID。这样就可以完全去掉$counter变量。

此外,如果您计划只回显$loophtml,我不建议将html存储在PHP变量中。

<?php
foreach ($listings as $row)
{
    ?>
    <h3 class="text-center"><?php echo $row['question']; ?></h3>
    <p><?php echo $row['message']; ?></p>
    Name: <b><?php echo $row['name']; ?></b>
    <span class="pull-right">Email: <b><?php echo $row['email']; ?></b><br></span>
    <div class="clearfix"></div>
    <?php
    if(isset($row['website']))
    {
        ?>
        Website: <b><?php echo $row['website']; ?></b>
        <?php
    }
    ?>
    <span class="pull-right">Date: <b><?php echo $row['date']; ?></b></span>
    <form action="" name="submit-response" method="POST">
        <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
        <fieldset>
            <div class="form-group">
                <label>Your Message</label>
                <textarea name="Message" class="form-control" rows="5"></textarea>
            </div>
            <button type="submit" class="btn btn-default btn-block">Reply</button>
        </fieldset>
    </form>
    <?php
}
?>

向数据库表添加一个唯一的id,并将其放入隐藏输入中。

为每个表单指定一个id,并可能为每个提交按钮指定一个唯一的名称。通过这种方式,您可以很容易地确定哪个提交按钮被点击,或者哪个表单被提交,并通过javascript删除或处理它。

$('form').each(function() {
  $(this).submit(function(event) {
    event.preventDefault();
    // Add AJAX code here
    $(this).remove();
  });
});

当然那是伪代码。