javascript - 如何在没有html表单标签的情况下向数据库中插入数据

标签 javascript php jquery html mysql

这是我的设计...

enter image description here

这是我的html代码...

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
 <div>
   <table width="1118" border="0" cellspacing="5">
   <tr>
     <th width="243" scope="col"><table width="1118" border="0" cellspacing="5">
       <tr>
         <th width="261" height="27" scope="col"><h4 align="left">Dealer Name:
           <input type="text" name="dname" id="dname" />
         </h4>
         </th>
         <th width="243" scope="col">Location:
           <input type="text" name="location" id="location" /></th>
         <th width="334" scope="col"><div align="left">Purchasing Date:
           <select name="day" id="day">
             <option value="-1">Day</option>
             <option value="1">1</option>
             <option value="2">2</option>
             <option value="3">3</option>
             <option value="4">4</option>
             <option value="5">5</option>
             <option value="6">6</option>
             <option value="7">7</option>
             <option value="8">8</option>
             <option value="9">9</option>
             <option value="10">10</option>
             <option value="11">11</option>
             <option value="12">12</option>
             <option value="13">13</option>
             <option value="14">14</option>
             <option value="15">15</option>
             <option value="16">16</option>
             <option value="17">17</option>
             <option value="18">18</option>
             <option value="19">19</option>
             <option value="20">20</option>
             <option value="21">21</option>
             <option value="22">22</option>
             <option value="23">23</option>
             <option value="24">24</option>
             <option value="25">25</option>
             <option value="26">26</option>
             <option value="27">27</option>
             <option value="28">28</option>
             <option value="29">29</option>
             <option value="30">30</option>
             <option value="31">31</option>
           </select>
           <select name="month" id="month">
             <option value="-1">Month</option>
             <option value="Jan">Jan</option>
             <option value="Feb">Feb</option>
             <option value="Mar">Mar</option>
             <option value="Apr">Apr</option>
             <option value="May">May</option>
             <option value="Jun">Jun</option>
             <option value="Jul">Jul</option>
             <option value="Aug">Aug</option>
             <option value="Sep">Sep</option>
             <option value="Oct">Oct</option>
             <option value="Nov">Nov</option>
             <option value="Dec">Dec</option>
           </select>
           <select name="year" id="year">
             <option value="Year" selected="selected">Year</option>
             <option value="2013">2013</option>
             <option value="2014">2014</option>
             <option value="2015">2015</option>
             <option value="2016">2016</option>
             <option value="2017">2017</option>
             <option value="2018">2018</option>
             <option value="2019">2019</option>
             <option value="2020">2020</option>
             <option value="2021">2021</option>
             <option value="2022">2022</option>
             <option value="2023">2023</option>
             <option value="2024">2024</option>
             <option value="2025">2025</option>
             <option value="2026">2026</option>
             <option value="2027">2027</option>
             <option value="2028">2028</option>
             <option value="2029">2029</option>
             <option value="2030">2030</option>
             <option value="2031">2031</option>
             <option value="2032">2032</option>
             <option value="2033">2033</option>
           </select>
         </div></th>
         <th width="247" scope="col">Entry Date:
           <input type="text" name="entry" id="entry" value="<?php echo date("d-M-Y")?>"/>
         </th>
       </tr>
     </table></th>
   </tr>
   </table>
 </div>
  <div align="center"></div>
  <div align="left">
    <table width="1177" border="1" cellspacing="5" id="add" class="add">
      <tr>
        <td width="71" height="42"><button class="add" name="add">Add Rows</button></td>

        <td width="144"><div align="center"><strong>Product Name</strong></div></td>
        <td width="146"><div align="center"><strong>Brand Name</strong></div></td>
        <td width="146"><div align="center"><strong>Model No</strong></div></td>
        <td width="146"><div align="center"><strong>Dealer Price</strong> (DP)</div></td>
        <td width="146"><div align="center"><strong>Quantity (Q)</strong></div></td>
        <td width="146"><div align="center"> <strong>Total Price</strong> (TP)        </div>
          <div align="center">
            (TP = DP x Q)
</div>
        </td>
        <td width="153"><div align="center"><strong>Quality</strong></div></td> 
         <td><div align="center"><strong>Insert Image</strong></div></td>
      </tr>
      <tbody>
        <tr class="prototype">
          <td height="26"><button class="remove">Remove</button></td>
          <td><input type="text" name="product[]" id="product" /></td>
          <td><input type="text" name="brand[]" id="brand" /></td>
          <td><input type="text" name="model[]" id="model" /></td>
          <td><input type="text" name="dprice[]" class="price"/></td>
          <td><input type="text" name="quantity[]" class="quantity"/></td>
          <td><input name="txt[]" type="text" class="txt" /></td>
          <td><input type="text" name="quality[]" id="quality"/></td>
           <td><input name="images[]" type="file" id="images"/></td>
        </tr>
        <tr>
          <td height="26"><button class="remove">Remove</button></td>
          <td><input type="text" name="product[]" id="product" /></td>
          <td><input type="text" name="brand[]" id="brand" /></td>
          <td><input type="text" name="model[]" id="model" /></td>
          <td><input type="text" name="dprice[]" class="price"/></td>
          <td><input type="text" name="quantity[]" class="quantity"/></td>
          <td><input name="txt[]" type="text" class="txt" id="tp" /></td>
          <td><input type="text" name="quality[]" id="quality"/></td>
           <td><input name="images[]" type="file" id="images"/></td>
        </tr>
        <tr>
          <td height="26"><button class="remove">Remove</button></td>
          <td><input type="text" name="product[]" id="product" /></td>
          <td><input type="text" name="brand[]" id="brand" /></td>
          <td><input type="text" name="model[]" id="model" /></td>
          <td><input type="text" name="dprice[]" class="price"/></td>
          <td><input type="text" name="quantity[]" class="quantity"/></td>
          <td><input name="txt[]" type="text" class="txt" id="tp" /></td>
          <td><input type="text" name="quality[]" id="quality"/></td>
           <td><input name="images[]" type="file" id="images"/></td>
        </tr>
        <tr>
          <td height="26"><button class="remove">Remove</button></td>
          <td><input type="text" name="product[]" id="product" /></td>
          <td><input type="text" name="brand[]" id="brand" /></td>
          <td><input type="text" name="model[]" id="model" /></td>
          <td><input type="text" name="dprice[]" class="price"/></td>
          <td><input type="text" name="quantity[]" class="quantity"/></td>
          <td><input name="txt[]" type="text" class="txt" id="tp" /></td>
          <td><input type="text" name="quality[]" id="quality"/></td>
           <td><input name="images[]" type="file" id="images"/></td>
        </tr>
      </tbody>
    </table>
  </div>

<table width="1206" border="0">

  <tr>
    <td width="847">&nbsp;</td>
        <td width="129"><input name="btn" type="submit" id="btn" value="Sum of Total Price" /></td>

    <td width="216"><input type="text" id="sum" name="sum" onKeyUp="calculate();" /></td>
</tr>
 <tr>
    <td>&nbsp;</td>
    <td colspan="2">Transport Price: 
    <input type="text" name="transport" id="transport" onKeyUp="calculate();" /></td>
  </tr>
   <tr>
    <td>&nbsp;</td>
    <td colspan="2">Grand Total: &nbsp;&nbsp;&nbsp;&nbsp;

     <input type="text" name="grandt" id="grandt" /></td>
  </tr>
</table>
    <div>
      <div align="center"><br /><input name="Save" type="submit" value="Save"/>
      </div>
</div>
</form>

这是javascript代码....

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script  type="text/javascript">
$(document).ready(function() {
    $('#add').on('keyup', '.price', calTotal)
                  .on('keyup', '.quantity', calTotal);

// find the value and calculate it

    function calTotal() {
        var $row = $(this).closest('tr'),
            price    = $row.find('.price').val(),
            quantity = $row.find('.quantity').val(),
            total    = price * quantity;

// change the value in total

        $row.find('.txt').val(total)
    }

});
</script>
<script type="text/javascript">

        $(document).ready(function () {
    //iterate through each textboxes and add keyup
    //handler to trigger sum event
    $(".txt").each(function () {

       // $(this).keyup(function () {
        $("#btn").click(function () {
            calculateSum();
           // $("#sum").show();
        });
    });

});

function calculateSum() {
    var sum = 0;
    //iterate through each textboxes and add the values
    $(".txt").each(function () {

        //add only if the value is number
        if (!isNaN(this.value) && this.value.length> 0) {
            sum += parseFloat(this.value);
        }

    });
    //.toFixed() method will roundoff the final sum to 2 decimal places
    $("#sum").val(sum.toFixed(2));
}
</script>
<script type="text/javascript">
$(document).ready(function () {
    var id = 0;
    // Add button functionality
    $("table.add button.add").click(function () {
        id++;
        var master = $(this).parents("table.add");
        // Get a new row based on the prototype row
        var prot = master.find(".prototype").clone();
        prot.attr("class", "")
       // prot.find(".id").attr("value", id);
        master.find("tbody").append(prot);
    });

    // Remove button functionality
    $("table.add button.remove").live("click", function () {
        $(this).parents("tr").remove();

    });

    $("table.add button.addColumn").click(function () {
        var columnName = window.prompt("Enter Column name", "");
        $('table').find('th').last().before('<th>'+columnName+'</th>')
        $('table').find('tr').each(function () {
            $(this).find('td').eq(0).after('<td></td>');
        });
    });
});
</script>
<script type="text/javascript">
function calculate()
{
    var total = document.getElementById('sum').value;
    var transport = document.getElementById('transport').value;
    if(total=="")
    {
        total=0;
    }
    if(transport=="")
    {
        transport=0;
    }
    var sum = parseFloat(total)+ parseFloat(transport);
    //sum.value= parseFloat(purchase.value)+ parseFloat(transport.value);
    if (!isNaN(sum)) {
                document.getElementById('grandt').value = sum;
            }
}
</script>

这是我的 php 代码..

<?php
if(isset($_POST['Save']))
{

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("storedb", $con);
$day=$_POST['day'];
$month=$_POST['month'];
$year=$_POST['year'];
$date=$day."-".$month."-".$year;
$entry=$_POST['entry'];
foreach($_POST['product'] as $row=>$pro)
{
    $folder = "image/";
    if($pro!="")
    {
    $product=$pro;
    $brand=$_POST['brand'][$row];
    $model=$_POST['model'][$row];
    $dprice=$_POST['dprice'][$row];
    $quantity=$_POST['quantity'][$row];
    $tp=$_POST['txt'][$row];
    $quality=$_POST['quality'][$row];
    $tmp_name = $_FILES["images"]["tmp_name"][$row];
    $name = $_FILES["images"]["name"][$row];
     move_uploaded_file($tmp_name, "$folder".$name);
     $entry=$_POST['entry'][$row];

    //$sum=$_POST['sum'][$row];
    //$transport=$_POST['transport'][$row];
    //$grand=$_POST['grandt'][$row];
    //$image=$_POST['image'][$row];
    $sql=mysql_query("INSERT INTO additem (Item_id,Product,Brand,Model,Dprice,Quantity,Tprice,Quality,image) VALUES ('','$product','$brand','$model','$dprice','$quantity','$tp','$quality','$name')"); 

    }
}

if (mysql_query($sql,$con))
  {
  //die('Error: ' . mysql_error());
  echo "1 record added";
  }
}
?>

在 HTML 中使用表单标签单击保存按钮将所有数据插入数据库。但是由于表单标签,添加行按钮总数按钮无法工作。单击这些按钮页面将刷新。如何解决这个问题

最佳答案

将按钮类型设置为“按钮”而不是提交...

<input name="btn" type="button" id="btn" value="Sum of Total Price" />

关于javascript - 如何在没有html表单标签的情况下向数据库中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21848414/

相关文章:

javascript - replaceState() 与 pushState()

php - 跟踪数据库架构更改的机制

php - nusoap 简单服务器

javascript - 如何将复选框与 jquery Datepicker 结合起来

jquery - 悬停时只有一个jquery函数可用于不同的音频文件

asp.net - firefox,jQuery ajax 调用触发两次并且从不触发成功或错误函数

php - 使用 JavaScript 将输入字段文本插入文本区域

javascript - 使用 React 从 API 端点获取返回值未定义

javascript - 我正在尝试制作一个餐厅定位应用程序,但无法显示标记

php - 使用 ajax post 传递 php 值