【问题标题】:Get the value of input field through ajax then pass it to php通过ajax获取输入字段的值,然后传给php
【发布时间】:2023-04-09 22:03:01
【问题描述】:

我是 ajax 新手,有人帮助我,我想创建一个包含输入字段的表单。

每当我单击按钮时,我都会获取输入字段的值,并将其声明为 AJAX 中的数据,并将来自 ajax 的值传递给 PHP 脚本。它将显示一个表格。

我的问题是如何获取输入字段的值并将其声明为 AJAX 中的数据。单击该表后,将在 AJAX 脚本中成功声明该表,该脚本将显示一个表。

提前谢谢你

更新:

@J_D,这是我的表单的 html 代码:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
            <table cellpadding="15px">
                <tr>
                    <td>Transmittal #</td>
                    <td><input type="text" class="form-control" style="padding-left:5px;" name="transmittal_number_inquiry" id="transmittal_number_inquiry" class="transmittal_number_inquiry" onKeyPress="return isNumberKey(event)" required></td>
                </tr>
            </table>
            <div style="float:right; padding-right:110px; padding-top:10px;">
                <a href="#modalTransmittalInquiry" class="btn btn-info" data-toggle="modal" id="btn-inquire-transmittal-number" data-backdrop="false" name="inquire-transmittal-number">Inquire</a>
                <?php /*?><input type="submit" class="btn btn-info" data-toggle="modal" id="btn-inquire-transmittal-number" name="btn-inquire-transmittal-number" data-backdrop="false" value="Inquire"><?php */?>
                <?php /*?><button type="submit" class="btn btn-info" data-toggle="modal" id="btn-inquire-transmittal-number" name="btn-inquire-transmittal-number" data-backdrop="false">Inquire</button><?php */?>
            </div>
        </form>

这是我的 AJAX 代码:

$(document).ready(function(){
   $('.btn-inquire-traensmittal-number').click(function(){
    $inputtextval = $('#transmittal_number_inquiry').val();
    $.ajax({
        type: 'POST',
        url: getTransmittalNum.php,
        data: {'transmittal_number_inquiry' : $inputtextval},
        success: function(res){
        }
    });
  });
});

这是 getTransmittalNum.php 代码

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "etransmittal";

    $selectedTransmittal = $_GET['q'];
    $con = mysqli_connect($servername,$username,$password,$dbname);

    if(!$con){
        die("Connection failed: " . mysqli_connect_error());
    }

    if(isset($_POST['inquire-transmittal-number'])){
        $query = "SELECT en.transid, en.transdate, CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,
                    userlist.`department`, en.document_number, doctype.document_type, doctype.document_description, vendor.`vendor_name`, en.`remarks`, 
                    en.status_id, stat.status_name, en.total_amount
                    FROM tbl_encode_transmittal en
                    LEFT JOIN tbl_vendor vendor ON vendor.`vendor_id` =  en.vendor_id
                    LEFT JOIN tbl_doctype doctype ON doctype.`doc_id` = en.doctype_id
                    LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
                    LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.`receiver_id`
                    LEFT JOIN tbl_status stat ON stat.status_id = en.status_id
                    WHERE en.`transid` = '{$_POST['transmittal_number_inquiry']}'";

        $result = mysqli_query($con, $query);
        $rows = array();

        if($result){
            while($row = mysqli_fetch_assoc($result)){
                $rows[] = $row;
            }
        }
        else{
            echo 'MYSQL Error: ' . mysqli_error();
        }

        $json = json_encode($rows);
        echo $json;
        mysqli_close($con);
    }
?>

【问题讨论】:

  • 请发布您用于进行 ajax 调用的代码和表单的 html
  • 你的尝试是什么?
  • @NorlihazmeyGhazali,将值传递给 PHP,然后显示包含从 Mysql 获取数据的表。

标签: javascript php jquery ajax


【解决方案1】:

试试下面的代码:

$(document).ready(function(){
  $('#btn-inquire-transmittal-number').click(function(){
    $inputtextval = $('#transmittal_number_inquiry').val();
    $.ajax({
      type: 'POST',
      url: 'getTransmittalNum.php', // wrap code with quote
      data: {'transmittal_number_inquiry' : $inputtextval},
      dataType : 'json', // expecting result type json
      success: function(res){
        // once you got result,
        // populate table here
      }
    });
  });
});

PHP

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "etransmittal";

//$selectedTransmittal = $_GET['q']; //<---- u need this?????
$con = mysqli_connect($servername,$username,$password,$dbname);

if(!$con){
    die("Connection failed: " . mysqli_connect_error());
}

if(isset($_POST['transmittal_number_inquiry'])){ // <-- check for existence
    $query = "SELECT en.transid, en.transdate, CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,
                userlist.`department`, en.document_number, doctype.document_type, doctype.document_description, vendor.`vendor_name`, en.`remarks`, 
                en.status_id, stat.status_name, en.total_amount
                FROM tbl_encode_transmittal en
                LEFT JOIN tbl_vendor vendor ON vendor.`vendor_id` =  en.vendor_id
                LEFT JOIN tbl_doctype doctype ON doctype.`doc_id` = en.doctype_id
                LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
                LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.`receiver_id`
                LEFT JOIN tbl_status stat ON stat.status_id = en.status_id
                WHERE en.`transid` = '{$_POST['transmittal_number_inquiry']}'";

    $result = mysqli_query($con, $query);
    $rows = array();

    if($result){
        while($row = mysqli_fetch_assoc($result)){
            $rows[] = $row;
        }
    }
    else{
        echo 'MYSQL Error: ' . mysqli_error();
    }

    $json = json_encode($rows);
    echo $json;
    mysqli_close($con);
}
?>

【讨论】:

  • 我不知道如何在 AJAX @NorlihazmeyGhazali 中填充成功下方的代码,
  • 你能不能console.log(res)里面的成功回调,在这里分享输出
  • 这是我的输出:i.stack.imgur.com/gCZqw.jpg 它将获取输入文本字段的值。
  • 现在我正计划创建另一个版本。我会将表单的 html 代码放在窗口对话框(jqxWindows)中。与上面的概念相同,输入文本的值将其传递给 PHP,它将显示一个模式,其中还包含 Mysql 中的数据获取。
  • 你的ajax是否获得成功返回值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-18
相关资源
最近更新 更多