确认选项卡不显示

时间:2015-11-05 05:33:27

标签: javascript jquery html forms

所以我创建了一个表单。在提交该表单后,我创建了一个确认选项卡,以便用户可以确认他的输入。一旦用户确认输入,表格将被提交。

所以我添加了jquery来显示确认选项卡,但是当我点击按钮显示确认选项卡时,表单只是清除并且没有看到确认选项卡...请在下面找到代码

HTML

<div class="tab-content">
  <fieldset class="tab-pane active" id="form_tab">
      <form id="poform" method="GET">
         <table>
               <tr>  
                    <th colspan="2"><div class="header_3">Pre-Order Form</div></th>
               </tr>
               <tr>  
                    <td><label>Account Number:</label></td>
                    <td><input type="text" name="accountnumber" id="accountnumber" value="" required/></td>
               </tr>
               <tr>  
                    <td><label>Trade:</label></td>
                    <span class="text_11">
                    <td><input type="radio" id="Buy" name="tradetype" class="tradetype" required value="Buy"/> Buy
                    <input type="radio" id="Sell" name="tradetype" class="tradetype" value="Sell"/> Sell </span></td>
               </tr>
               <tr>  
                    <td><label>Metal:</label></td>
                    <span class="text_11">
                    <td><input type="radio" id="Steel" name="metal" class="metal" required value="Steel"/> Steel
                    <input type="radio" id="Iron" name="metal" class="metal" value="Iron"/> Iron </span></td>
               </tr>
               <tr>  
                    <td class="select"><label>Amount:</label></td>
                    <td><select id="amount" name="amount">
                    <option value="">Select</option>
                    <?php include_once "selectamount.php"?></td>
                    </select>
               </tr>
               <tr>  
                    <td class="select"><label>Date:</label></td>
                    <td><select id="date" name="date" id="date">
                    <option value="">Select</option>
                    <?php include_once "selectdate.php"?></td>
                    </select>
               </tr> 
               <tr> 
                    <td colspan="2" align="center">
                    <button type="button" id="submit_btn">
                       <span class="chngetext">Check</span>
                    </button>
                    </td>
               </tr>
         </table>
      </form>
  </fieldset>

  <fieldset class="tab-pane" id="conf_tab">
    <table>
        <tr style="text-align:center">
            <th colspan="2"><div class="header_3">Pre-Order Ticket Details</div></th>
        </tr>
        <tr style="text-align:left">
            <td><label>Account Number:</label></td>
            <td><mgin><span id="confirm_accountnumber"></span></mgin></td>
        </tr>
        <tr style="text-align:left">
            <td><label>Trade Pre-Order:</label></td>
            <td><mgin><span id="confirm_tradetype"></span></mgin></td>
        </tr>
        <tr>
            <td><label>Amount:</label></td>
            <td><mgin><span id="confirm_amount"></span> 9999 Pooled Allocated <span id="confirm_metal"></span> Loco Singapore</mgin></td>
        </tr>
        <tr>
            <td><label>On date:</label></td>
            <td><mgin><span id="confirm_date"></span></mgin></td>
        </tr>
            <td><label>Pre-Order Discount:</label></td>
            <td><mgin><span id="confirm_data"></span></mgin></td>
        </tr>
        <tr>
            <td><label>Pre-Order Deposit:</label></td>
            <td><mgin>SGD 5000.00</mgin></td>
        </tr>
        <tr>
            <td><label>Additional follow up order:</label></td>
            <td><mgin>New Sell Order to be given 2 days before purchase order date.</mgin></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><button type="submit" class="btn btn-default" id="confirm_btn">Confirm Order</button></td>
        </tr>       
    </table>
  </fieldset>
</div>

Jquery的

$(document).ready(function() {
  $('#submit_btn').click(function() {

    // Get the value of the field with 'firstname' id.
    var accountnumber = $('#accountnumber').val();
    var tradetype = $('input.tradetype:checked').val();
    var amount = $('#amount').val();
    var metal = $('input.metal:checked').val();
    var date = $('#date').val();
    var data = "<?php include 'retrievepremordisc.php'; ?>";

    $('#confirm_accountnumber').text(accountnumber);
    $('#confirm_tradetype').text(tradetype);
    $('#confirm_amount').text(amount);
    $('#confirm_metal').text(metal);
    $('#confirm_date').text(date);
    $('#confirm_data').text(data);

    // Hide form tab and show confirmation tab
    $('#form_tab').removeClass('active');
    $('#conf_tab').addClass('active');

  });
});

PHP文件(retrievepremordisc.php)

<?php
include_once "connect.php";
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 

$form=$_GET;
$trade=$form['tradetype'];
$metal=$form['metal'];
$amount=$form['amount'];
$date=$form['date'];

$stmt = $conn->query("SELECT Discount FROM Contracts WHERE Trade='$trade' AND Metal='$metal' AND Amount='$amount' AND ExpiryDate='$date'");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
   echo $row['Discount']; 
} 
?>

谢谢!

3 个答案:

答案 0 :(得分:1)

当您单击提交按钮时,表单执行提交操作,因此jQuery代码不会执行。

更改

<button type="submit" name="submit" id="checkbut">Check Premium</button>

<button type="button" name="submit" id="checkbut">Check Premium</button>

其他方式是使用event.preventDefault();

$(document).ready(function() {
  $('#checkbut').click(function(e) {
    e.preventDefault(); // This prevents the action of sending the form.

    // Get the value of the field with 'firstname' id.
    var accountnumber = $('#accountnumber').val();
    var tradetype = $('#tradetype').val();
    var amount = $('#amount').val();
    var metal = $('#metal').val();
    var date = $('#date').val();

    $('#confirm_accountnumber').text(accountnumber);
    $('#confirm_tradetype').text(tradetype);
    $('#confirm_amount').text(amount);
    $('#confirm_metal').text(metal);
    $('#confirm_date').text(date);

    // Hide form tab and show confirmation tab
    $('#form_tab').removeClass('active');
    $('#conf_tab').addClass('active');

  });
});

然而:

ID选择器在页面中必须是唯一的。你有两个ID相同的按钮。您需要使用唯一标识符正确重命名。

根据你的html:

<div id="Sellbut" class="toHide" style="display:none"><button type="submit" name="submit" id="checkbut">Check Premium</button></div>
<div id="Buybut" class="toHide" style="display:none"><button type="submit" name="submit" id="checkbut">Check Discount</button></div>

这些按钮似乎执行不同的操作,因此您需要重命名它。

答案 1 :(得分:1)

使用event.preventDefault();在你点击功能。

答案 2 :(得分:0)

每个id在HTML文档中必须是唯一的。你的两个按钮都使用id="checkbut",但jQuery调用$('#checkbut')只会引用其中一个(可能是第一个),而另一个按钮根本不会得到一个点击处理程序。

由于没有明确定义当有2个具有相同ID的元素时浏览器应该如何表现,因此浏览器之间的行为可能会有很大差异。

您可以将id=更改为class= HTML,将选择器更改为$(".checkbut")以同时引用这两者。