将两个值发送到ajax查询

时间:2015-08-18 07:42:02

标签: javascript php ajax

我需要向我的javascript发送两个参数并获取php文件中的参数我该怎么做?

我的HTML:

<form method="post" action="testButtonSup.php">
        <p>
           Veuillez choisir le service<br />
           <input type="radio" name="service" value="ncli" id="ncli" checked ="checked" /> <label for="ncli">Ncli</label>
           <input type="radio" name="service" value="fcli" id="fcli" /> <label for="fcli">Fcli</label>
        </p>
        <p>
            <label for="client">Veuillez choisir le fournisseur :</label><br />
               <select name="client" id="client" onchange="showUser(this.value, service)">
                    <?php 
                        // echo '<option value=""/></option>';
                        while ($donnees = $reponse->fetch())
                        {               
                            echo '<option value='.$donnees['refCustomer'].'>'.$donnees['legalCompanyName'].' </option>';
                            $idClient = $donnees['refCustomer'];                                
                            //$value = $donnees['refCustomer'];                     
                        }


                        $reponse->closeCursor();
                    ?>              
               </select>
            </p>
        <p>.....

我想向函数showUser(this.value,service)发送两个参数 :select的id和单选按钮的值&#34; service&#34; whic is up

我的功能:

function showUser(str, service) {
        if (str == "") {
            document.getElementById("txtHint").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("txtHint").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET","getTableBuffer.php?q="+str+"&service="service,true);
            xmlhttp.send();
        }
    }

我试过这样但是它没有用。

在我的php文件中,它没有识别参数。

它仅适用于选择的ID。

2 个答案:

答案 0 :(得分:3)

没有jQuery,这是一个小函数,用于从集合中获取单选按钮的值,以便在ajax参数中使用。

    function radiovalue(name){
        var col=document.querySelectorAll('input[type="radio"]');
        for( var n in col )if( n && col[n] && col[n].nodeType==1 && col[n].type=='radio' ){
            if( col[n].hasAttribute('name') && col[n].getAttribute('name')==name ){
                if( col[n].checked ) return col[n].value;
            }
        }
        return false;
    }

   eg:
   ---
   xmlhttp.open("GET","getTableBuffer.php?q="+str+"&service="+radiovalue('service'),true);

答案 1 :(得分:0)

如果您可以使用jQuery(我建议处理ajax请求),您可以这样做:

function showUser(str, service) {
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  } else { 
    $.ajax({
      url: 'getTableBuffer.php',
      type: 'GET',
      data: {q:str, service:service}
    }).done(function(response){
      // Code to execute once the call has been executed
      $('#txtHint').html(response.responseText);
    });
  }
}