簡體   English   中英

動態表格php ajax

[英]dynamic form php ajax

我有這個表格。

<form id="form1" name="form1" method="post" action="">
  <p>
    <label for="textfield"></label>
     Id: 
     <input type="text" name="textfield" id="textfield" />
  </p>
  <p>
    <label for="textfield2"></label>
    Name: 
      <input type="text" name="textfield2" id="textfield2" />
  </p>
  <p>
    <label for="textfield3"></label>
    Apellido: 
    <input type="text" name="textfield3" id="textfield3" />
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Enviar" />
  </p>
  <p>&nbsp;</p>
</form>

當我寫了de id,然后是pulse key選項卡時,在輸入名稱和apellido中必須獲取我的數據庫mysql此信息。

我希望你能理解我。

您的代碼將如下所示:

<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {

                $('#textfield').blur(function() {
                    var myId = $(this).val();
                    if (myId == '') return false;

                    $.ajax({
                        type: "POST",
                        url:  "myFile.php",
                        data: "theID=" +myId,
                        success: function(fromPHP) {
                            var allRecd = fromPHP.split('|');
                            var name = allRecd[0];
                            var apel = allRecd[1];

                            $('#textfield2').val(name);
                            $('#textfield3').val(apel);
                        }
                    })
                });


            }); //END $(document).ready()

        </script>
    </head>
<body>

    <form id="form1" name="form1" method="post" action="">
      <p>
        <label for="textfield"></label>
         Id: 
         <input type="text" name="textfield" id="textfield" />
      </p>
      <p>
        <label for="textfield2"></label>
        Name: 
          <input type="text" name="textfield2" id="textfield2" />
      </p>
      <p>
        <label for="textfield3"></label>
        Apellido: 
        <input type="text" name="textfield3" id="textfield3" />
      </p>
      <p>
        <input type="submit" name="button" id="button" value="Enviar" />
      </p>
      <p>&nbsp;</p>
    </form>

</body>
</html>

PHP方面: myFile.php

<?php
    $id = $_POST['theID'];

    //Do your mysql query here, for example
    $result = mysql_query("SELECT * FROM users WHERE user_id = '$id' ");

    $n = $result['name'];
    $a = $result['apellido'];

    $response = $n . "|" . $a;

    echo $response;

筆記:

  1. 我們使用jQuery blur()方法檢測用戶何時離開文本字段
  2. 然后獲取該字段的內容(var myId)
  3. 如果該字段為空,請勿執行AJAX查找
  4. 通過POST方法將鍵名稱為“ theID”且內容== myId的assoc var發送到文件myFile.php
  5. 在PHP端,接收ID並將其命名為$ id(在此端)
  6. 您進行mysql查找並獲得“名稱”和“ apellido”值
  7. 將它們作為簡單的字符串連接在一起,並用“ |”分隔 燒焦
  8. 將它們回顯到AJAX代碼塊
  9. 重要信息:從PHP返回的所有數據必須在success函數中處理!
  10. 再次提取名稱和apellido值
  11. 注入正確的字段。

您可以使用jQuery來使用AJAX並將此表單數據發送到MySQL。

$(document).ready(function(){
   $('#button').on('click',function(e){
      var data = $('#form1').serialize();
      $.ajax({
            url:'get_data.php',
            type: 'post',
            data: data,
            success: function(response) {console.log(response);},
            error: function() {console.log('Request failed.')}
      });
      return false;
   });
});

在服務器端,您可以像下面這樣獲取此數據並保存到mysql數據庫中。 我假設您有一個表名Persons。

<?php 
  $textfield = $_POST['textfield'];
  $textfield2= $_POST['textfield2'];
  $textfield3= $_POST['textfield3'];

  $con=mysqli_connect("localhost","dbusername","dbpass","dbname");
  if (mysqli_connect_errno())
   {
     echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }

   mysqli_query($con,"INSERT INTO Persons (textfield , textfield2, textfield3)
   VALUES ('$textfield', '$textfield2','$textfield3')");
   mysqli_close($con);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM