JQuery/AAJAX从MYSQL更新DIV-从不同的输入2个输入中获取值

JQuery/AJAX update DIV from MYSQL - Get values from different input 2 inputs

本文关键字:输入 2个 获取 AAJAX MYSQL 更新 DIV- JQuery      更新时间:2023-09-26

我对JQuery有点陌生,我有一个脚本,它将从onchange事件的文本输入中获取值,并将数据发送到外部PHP文件,这样我们就可以从DB中获取一些数据,并将其提取到id为"txtHint3"的div中。

整个脚本运行得很好,但我遇到的问题是,我需要从两个不同的文本输入字段中获取值,并将这两个值发送到PHP文件。

本质上,如果2个输入文本中只有1个发生了更改,我们需要将2个值推回到jQuery和PHP脚本。

我尝试了几种不同的方法,但没有任何显著的结果。如有任何帮助/想法,我们将不胜感激!!

以下是我迄今为止编写的jQuery代码:

<script>
    function recordTrans(str) {
if (str == "") {`enter code here`
    document.getElementById("txtHint3").innerHTML = "";
    return;
} else {
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("txtHint3").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","recordtransaction.php?pos=1&code="+str,true);
    xmlhttp.send();
  }
}
</script>
function recordTrans(str) {
if (str == "") {
    document.getElementById("txtHint3").innerHTML = "";
    return;
} else {
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("txtHint3").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","recordtransaction.php?pos=1&code="+str,true);
    xmlhttp.send();
}

这是我的HTML表/表单:

<table class="table table-striped" id="FinancialDataTable">
            <thead>
              <tr>
                <th style="width: 10%;">Code</th>
                <th style="width: 5%;">Qté</th>
                <th style="width: 25%;">Produit</th>
                <th style="width: 25%;">Description</th>
                <th style="width: 25%;">Prix</th>
                <th style="width: 10%;">Action</th>
              </tr>
            </thead>
            <tbody>

              <tr>
                <td>
                    <div class="form-group">
                  <input type="text" id="code" name="code" class="form-control" onchange="recordTrans(this.value)"   />
                </div>
                </td>
                <td>
                    <div class="form-group">
                  <input type="text" name="qte" id="qte" class="form-control" value="1" onchange="recordTrans(this.value)" />
                </div>
                </td>
                <td colspan="3"><div id="txtHint3" style="width: 100%"> </div></td>

                <td><button type="button" class="btn btn-primary btn-sm" onClick="$(this).addClone();">Ajouter un autre article</button></td>
              </tr>
                             </tbody>
          </table>
<input type="text" id="code" name="code" class="form-control" onchange="oncode_change(this.value)"   />

function oncode_change(str){
   var qteval = $("#qte").val();
   recordTrans(str,qteval )
}
function onqte_change(str){
   var codeval = $("#code").val();
   recordTrans(codeval,str)
}
function recordTrans(codeval, qteval) {
     ...your ajax call here
}
    function oncode_change(str){
    var qteval = $("#qte").val();
    recordTrans(str,qteval )
}
function onqte_change(str){
    var codeval = $("#code").val();
    recordTrans(codeval,str)
}

    function recordTrans(str,qteval) {
if (str == "") {
    document.getElementById("txtHint3").innerHTML = "";
    return;
} else {
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("txtHint3").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","recordtransaction.php?pos=1&code="+str+"&qte="+qteval,true);
    xmlhttp.send();
}

}

和HTML

<table class="table table-striped" id="FinancialDataTable">
            <thead>
              <tr>
                <th style="width: 10%;">Code</th>
                <th style="width: 5%;">Qté</th>
                <th style="width: 25%;">Produit</th>
                <th style="width: 25%;">Description</th>
                <th style="width: 25%;">Prix</th>
                <th style="width: 10%;">Action</th>
              </tr>
            </thead>
            <tbody>

              <tr>
                <td>
                    <div class="form-group">
                  <input type="text" id="code" name="code" class="form-control" onchange="oncode_change(this.value)"   />
                </div>
                </td>
                <td>
                    <div class="form-group">
                  <input type="text" name="qte" id="qte" class="form-control" value="1" onchange="onqte_change(this.value)" />
                </div>
                </td>
                <td colspan="3"><div id="txtHint3" style="width: 100%"> </div></td>

                <td><button type="button" class="btn btn-primary btn-sm" onClick="$(this).addClone();">Ajouter un autre article</button></td>
              </tr>
                             </tbody>
          </table>

我真的认为我做得对,你的答案应该正常工作,但对于一些研究人员来说,qte没有传递到php。请查看:xmlhttp.open("GET","recordtransaction.php?pos=1&code="+str+"&qte="+qteval,true(;