使用 ajax-livesearch 函数时,如何将 2 个变量发送到 js



我想使用Ajax的实时搜索功能。首先,我想在HTML中选择1个类别的多个选项,如下所示。

   <form >
<select name="category" id="category" onchage="showResult()" title="choose the category which you'll search">
<option value="">카테고리를 선택하세요</option>
<option value="dic">사전</option>
<option value="term">의학용어 영한 표준번역</option>
<option value="kcd">질병표준코드</option>    
<option value="3d">3D</option>
<option value="ind">색인</option>
<option value="toc">목차</option>    
<option value="fig">그림</option>
<option value=:tab">표</option>
<option value="sw">소프트웨어</option>       
</select>
<input type="hidden" name="category" />

其次,我将输入要搜索的文本。

<p><b>livesearch </b><input type="text" size="30" onkeyup="showResult(this.value)"></p>
</form>
<p> Hint -- <span id="livesearch"></span></p>

而且,Javascript 代码对我来说很困难,因为我不知道如何从 html 中的表单接收 2 个变量。

这是我的JS。

function showResult(str) {
if (str.length==0) { 
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
return;
}
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 (this.readyState==4 && this.status==200) {
  document.getElementById("livesearch").innerHTML=this.responseText;
  document.getElementById("livesearch").style.border="1px solid #A5ACB2";
 }
};
 var category = document.getElementById('category');
category.onchange = function(){
document.querySelector("input[name=category]").value = this.value;
}
xmlhttp.open("GET","livesearch_"+category.value+.php?q="+qstr,true);
xmlhttp.send();
 }
}

请给我一份你慷慨的善意。

最后我解决了上面的问题。

完整代码如下所示。

<script>
function showUser1(str) // call function without parameter
{
 if (window.XMLHttpRequest)
{
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("hint").innerHTML=xmlhttp.responseText;
  }
  }
var category = document.getElementById('category').value;
var qstr = document.getElementById('qstr').value; // get value of qstr
xmlhttp.open("GET","./livesearch_" +category + ".php?q="+qstr,true);
xmlhttp.send();
}
</script>

和HTML代码一样。

  <form>
  <select name="category" id="category" onchange="showUser1()" title="choose 
  the language you want">
  <option value="dic">사전</option>
  <option value="term">의학표준용어 : 영-한 </option>    
  </select>
  Input: <input name="search" id="qstr" onkeyup="showUser1()" >  
  </form>
  <div id="hint"><b>Disease information will be listed here.</b></div>

感谢您的关注。

相关内容

  • 没有找到相关文章

最新更新