javascript - 同一页面上的三种形式,一种提交按钮。需要它提交到mysql数据库中的一行

标签 javascript php jquery html mysql

首先,我在一个页面上设置三个表单的原因是为了布局。我有三个输入框穿过一行,然后在它下面有另一个输入框,依此类推。如果我将它们放在一个表单标签下,我会得到从上到下看起来很糟糕的输入框。我尝试了一些解决方案,但没有奏效。每行将放置 3 个三个条目而不是一个,并且一些数据不会显示或只有一个表格会显示在数据库中。

HTML

<form class="form-inline"  id="Test1" method="POST"> 
<div class="form-group"> 
<label>Name: <input name="FN" type="text" class="form-control" id="" value=""> </label>  </div> </form>


<form class="form-inline"  id="Test2" method="POST"> 
<div class="form-group"> 
<label>Name: <input name="LN" type="text" class="form-control" id="" value=""> </label>  </div> </form>


<form class="form-inline"  id="Test3" method="POST"> 
<div class="form-group"> 
<label>Name: <input name="EM" type="text" class="form-control" id="" value=""> </label>  </div> </form>

<div class="form-group"><br> 
                        <div class="col-sm-offset-2"> <button type="button" class="SB btn btn-default">Book Now</button> </div> 
                <script>
                  $(document).on('click','.SB',function(e) {
    formData = $('#Test1, #Test2', '#Test3').serialize();
    $.post(
        'Process.php', formData
    );
});

我只得到第一个表格,其他两个是空白的,但在一行上。所有输入都是唯一的。我也试过 docbyid,它会添加三行但不能正常工作。任何帮助都会很棒。

PHP:

     require('DBCon.php');

$statement = $link->prepare("INSERT INTO Database (FN, LN, EM) VALUES( :CFN, :CLN, :CE)");

$ClientFN = $_POST['FN'];
$ClientLN = $_POST['LN'];
$ClientEmail = $_POST['EM'];

$statement->execute(array(
":CFN" => "$ClientFN",
":CLN" => "$ClientLN",
":CE" => "$ClientEmail"));

  $statement = null;
    $link = null;

 // Echo Successful attempt
  echo "<p Data added to database.</p></br></br>";       
  ?>

最佳答案

您的按钮应该调用函数而不是提交表单。提交只会发送第一个表单中的数据。 你真的应该使用一种形式并使用 CSS 来纠正任何显示问题,但如果你要使用单独的形式,下面应该做你正在寻找的(确保你的结束标签在正确的位置):

<form class="form-inline"  id="Test1"> 
    <div class="form-group">
        <label>Name: <input name="FN" type="text" class="form-control" id="" value=""></label>
    </div> 
</form>
<form class="form-inline"  id="Test2" method="POST"> 
    <div class="form-group"> 
        <label>Name: <input name="LN" type="text" class="form-control" id="" value=""> </label>
    </div> 
</form>
<form class="form-inline"  id="Test3" method="POST"> 
    <div class="form-group"> 
        <label>Name: <input name="EM" type="text" class="form-control" id="" value=""> </label>
    </div>
</form>

<div class="form-group"> 
    <div class="col-sm-offset-2"> <button type="button" class="sumbitButton btn btn-default">Book Now</button>
</div>

<script>
    $(document).on('click','.sumbitButton',function(e) {
        formData = $('#Test1, #Test2', '#Test3').serialize();
        $.post(
            'Process.PHP', formData
        );
    });
</script>

关于javascript - 同一页面上的三种形式,一种提交按钮。需要它提交到mysql数据库中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431624/

相关文章:

javascript - 将 json 对象转换为 formData(HTML5 对象)

php - 如何修复图像的方向并使用 PHP 上传图像

jquery - 粘性标题上的动画

javascript - 重构词云算法

javascript - 使用 MediaSource API 传输不断增长的文件。

php - PHP 中的服务器绑定(bind)计数器,每个午夜都会重置为零,或者至少看起来是这样

javascript - 着色/操作文本区域的部分

php - JQuery - 将 HTML 加载到文本区域

javascript - 适用于不同设备的响应式 Canvas

php - 使用二进制音频数据嵌入 src