我需要向我的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。
答案 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);
});
}
}